Pb sur code avec If et End If

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.

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:

Victor21

XLDnaute Barbatruc
Re : Pb sur code avec If et End If

Bonsoir. et bienvenue sur le forum.

Je vous invite à lire avec attention Lien supprimé, et à joindre un court fichier Excel représentatif de votre problème.
Un fichier Word compressé ne permet pas de suivre pas-à-pas le déroulement de votre code, et les intervenants n'ont souvent pas l'envie de reconstituer-au hasard- votre fichier pour tester le code. Ce qui limite le nombre d'aidants possibles à ceux qui lisent VBA "dans le texte".
De plus, il existe des outils pour publier un code directement dans votre demande, le plus approprié étant :
[ Highlight=VBA] le code [/Highlight ] (sans les espaces après le 1er crochet et avant le dernier)

Edit : pardon si je t'ai percuté, Hasco :)
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
160