Autant pour moi... Je vous conseillais la dernière version et je viens d'essayer avec elle et... ça ne marche pas !
Avec la précédente (que j'utilise), ça marche !!!... et c'est pour ça que je ne comprenais pas
Alors, rassurez-vous ce n'est pas bien grave, pour retrouver la civilité, il faut un peu mettre les mains dans le cambouis et modifier le code de la routine InscrireAdresse de la macro AppelBase ; pour plus de facilité, il vous suffit ce copier/coller le code modifié que je vous joins ci-dessous :
Code : Tout sélectionner
Sub InscrireAdresse
Dim leNom as String
Dim monForm as Object
Dim maListe as Object, maColonne as Object
Dim leNomClient as String
Dim maRSociale as String
Dim monTitre as string, monNom as String, monPrenom as String
Dim monAd1 as String, monAd2 as String
Dim monCP as String, maVille as String, monPays as String
Dim ligne as Integer, col as Integer, maCellule As Object
REM
maFacture = thisComponent.Sheets.getByName("Facture")
monForm = maFacture.DrawPage.Forms.getByName("FormFacturier")
maListe = monForm.getByName("TableClient")
maColonne = maListe.getByName("RaisonSociale")
leNomClient = maColonne.getCurrentValue()
If leNomClient = "" Then
maColonne = maListe.getByName("Nom")
leNomClient = maColonne.getCurrentValue()
End If
laRefClient = ChercherRefClient(maFacture)
maFacture.getCellRangeByName("K12:K17").clearContents(com.sun.star.sheet.CellFlags.STRING)
instrSQL = "SELECT * FROM ""TClients"" WHERE ""RefClient"" = '" & laRefClient & "'"
ConnecterSource
maRequete = maConnexion.createStatement()
On Error Goto ErrBase
resuQuery = maRequete.executeQuery(instrSQL)
On Error Goto 0
If resuQuery.next Then
maRSociale = resuQuery.Columns.getByName("RaisonSociale").string
monTitre = resuQuery.Columns.getByName("Titre").string
monNom = resuQuery.Columns.getByName("Nom").string
monPrenom = resuQuery.Columns.getByName("Prenom").string
monAd1 = resuQuery.Columns.getByName("Adresse1").string
monAd2 = resuQuery.Columns.getByName("Adresse2").string
monCP = resuQuery.Columns.getByName("CodePostal").string
maVille = resuQuery.Columns.getByName("Ville").string
monPays = resuQuery.Columns.getByName("Pays").string
col = 10
ligne = 11
If maRSociale <> "" Then
maFacture.getCellByPosition(col, ligne).setString(maRSociale)
ligne = ligne + 1
End If
If monNom <> "" Then
maFacture.getCellByPosition(col, ligne).setString(monTitre & " " & monNom & " " & monPrenom)
ligne = ligne + 1
End If
If monAd1 <> "" Then
maFacture.getCellByPosition(col, ligne).setString(monAd1)
ligne = ligne + 1
End If
If monAd2 <> "" Then
maFacture.getCellByPosition(col, ligne).setString(monAd2)
ligne = ligne + 1
End If
maFacture.getCellByPosition(col, ligne).setString(monCP & " " & maVille)
ligne = ligne + 1
If monPays <> "" Then maFacture.getCellByPosition(col, ligne).setString(monPays)
End If
DeconnecterSource
Exit Sub
ErrBase:
MsgBox("Erreur d'accès à la base ...", OK + AVERT, "Erreur ...")
DeconnecterSource
Stop
End Sub
Bonne continuation !