Verification code VBA
Bonjour à tous,
J'ai un code VBA que je arrive pas a faire fonctionner et ne comprends pas bien le pourquoi.
En effet le but est que selon la valeur dela liste déroulante cellule G11 (Feuil2 "Rapport de contrôle manuel")
l'information contenue dans la cellule I4 (Feuil1 "LEXIQUE) s'affiche dans la cellule A11 (Feuil2 "Rapport de contrôle manuel")
Je vous remercie d'ores et déjà de toute l'aide eventuelle que vous pourrez m'apporter etpour compléter cette dernière je joins un fichier exemple à ma demande et vous souhaite d'ores et déjà une excellente journée.
Bonjour
Ci joint ma solution
en plus propre
A+ François
bonjour Tiago,
2 choses
1. le plus important, c'est "Feuil12" au lieu de "Feuil2", mais comme c'est la feuille du module, on peut aussi utiliser "ME".
2. On s'intéresse à l'adresse du target et ne pas à son contenu
PS. on peut faire la même chose sans VBA avec une formule
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LigneF1, DerLigneF1 As Integer
If Target.Address = "$G$11" Then '>>>>> C'EST L'ADRESSE, PAS LE CONTENU
Application.EnableEvents = False
'Si liste déroulante vide, on vide les données suivantes'
If Target = "" Then
Me.Cells(11, 32).Value = ""
Else
'Derniere ligne du lexique'
DerLigneF1 = Feuil1.Cells(Rows.Count, 1).End(xlUp).Row
For LigneF1 = 3 To DerLigneF1
If Me.Cells(11, 7).Value = Feuil1.Cells(LigneF1, 7).Value Then
Me.Cells(11, 1).Value = Feuil1.Cells(LigneF1, 9).Value
Exit For
End If
Next LigneF1
End If
Application.EnableEvents = True
End If
End SubEDIT : bonjour Fanfan38
Bonjour BsAlv et fanfan38.
Je vous remercie simultanement des réponses que vous m'avez apportées et après avoir essayé les deux codes
je vous informe qu'ils fonctionnent de manière correcte.
Je dois surtout vous remercier des explications que vous avez fourni leur de vos messages car bien souvent on
se contente de la solution sans chercher à comprendre le fonctionnement ou l'origine de nos ereurs.
Je dois dire que sur vos deux réponses il m'à été simple de comprendre le fond de mon problème et ceci sert
aussi d'apprentissage.
Donc, je vous remercie encore du temps que vous m'avez consacré et vous souhaite d'ores et déja une excellente fin de journée.