arthur83fr
XLDnaute Nouveau
bonjour,
voila cela fait un petit moment que je butte sur ce bout de code.
quand je l'éxécute il me met msg erreur "erreur de compilation bloc If sans End If" mais j'arrive pas a trouver ou cela coince
pouvez vous m'éclairer ?
merci
description
userform1 = masque de saisie client
entrée du nom, prenom et ville
test pour voir si plusieurs occurences NomPrenomville existe afin de faire du remplissage auto des autres champs de usf1
et c'est la que cela coince et je vois pas ou.
voila cela fait un petit moment que je butte sur ce bout de code.
quand je l'éxécute il me met msg erreur "erreur de compilation bloc If sans End If" mais j'arrive pas a trouver ou cela coince
pouvez vous m'éclairer ?
merci
description
userform1 = masque de saisie client
entrée du nom, prenom et ville
test pour voir si plusieurs occurences NomPrenomville existe afin de faire du remplissage auto des autres champs de usf1
et c'est la que cela coince et je vois pas ou.
Code:
' test de remplissage automatique
' on est dans le usf1
Private Sub TextBox21Ville_AfterUpdate()
'Dim c As Range
'Dim Lig As Long
Dim VarNomPrenomVille As String
Dim VarNomPrenom As String
Dim cDest As Range
Dim LastLig As Long
VarNomPrenomVille = TextBox2Nom.Value + TextBox3Prenom.Value + TextBox21Ville.Value
VarNomPrenom = TextBox2Nom.Value + TextBox3Prenom.Value
'cDest: La celllule de destination: première cellule vide de la colonne A de la feuille DoublonsTemp
With Worksheets("Doublonstemp")
Set cDest = .Cells(.Rows.Count, "A").End(xlUp)(2)
End With
With Worksheets("Clients")
'Enlève l'éventuel filtre automatique
.AutoFilterMode = False
'LastLig, ligne de la dernière cellule remplie de colonne L de Feuille Clients
LastLig = .Cells(.Rows.Count, "L").End(xlUp).Row
'On fait un filtre automatique sur la colonne L de Feuil1 avec comme critère VarNomPrenomVille
.Range("L1:L" & LastLig).AutoFilter field:=1, Criteria1:=VarNomPrenomVille
'Si au moins une ligne résultat du filtre (en plus de la ligne 1 des titres)
If .Range("L1:L" & LastLig).SpecialCells(xlCellTypeVisible).Count > 1 Then
With .Range("L2:L" & LastLig).SpecialCells(xlCellTypeVisible).EntireRow
'On copie toutes les lignes visibles vers cDest (sauf la ligne des titres)
.Copy cDest
End With
' cela doit etre ici que je teste si plusieurs occurences ou pas
If Sheets("DoublonsTemp").Cells(3.2) <> "" Then
' je remplis les label Nom, Prenom et ville de usf12
UserForm12.Label6.Caption = UserForm1.TextBox2Nom.Value
UserForm12.Label7.Caption = UserForm1.TextBox3Prenom.Value
UserForm12.Label8.Caption = UserForm1.TextBox21Ville.Value
Dim Derlig As Long
With Sheets("Doublonstemp")
' obtention du numero de la derniere ligne remplie de la colonne F feuille "DoublonsTemp"
Derlig = .Cells(.Rows.Count, "F").End(xlUp).Row
End With
UserForm12.ComboBox1.RowSource = "DoublonsTemp!F2:F" & Derlig
' jaffiche le usf12
' afin de choisir adresse dans liste déroulante
' le bouton "valider" de usf12 renvoie la valeur de l'adresse dans le usf1
' et ferme le usf12
UserForm12.Show
End If
If Sheets("DoublonsTemp").Cells(3.2) = "" Then
With Sheets("Clients")
Dim c As Range
Dim Lig As Long
Set c = .Columns(12).Find(VarNomPrenomVille, LookIn:=xlValues, Lookat:=xlWhole)
If Not c Is Nothing Then
Lig = c.Row
UserForm1.TextBox18Adresse1 = .Range("F" & Lig)
UserForm1.TextBox19Adresse2 = .Range("G" & Lig)
UserForm1.TextBox20CodePostal = .Range("H" & Lig)
UserForm1.TextBox21Ville = .Range("I" & Lig)
UserForm1.TextBox4TelFixe = .Range("D" & Lig)
UserForm1.TextBox5TelMobile = .Range("E" & Lig)
End If
Set c = Nothing
End With
End If
'on vide notre variable cDest
Set cDest = Nothing
'On enlève le filtre automatique
.AutoFilterMode = False
End Sub
Dernière édition: