Bonjour à tous,
Je suis assez peu expérimentée en VBA mais j'arrive d'habitude à bricoler quelques petites macros qui m'aident au quotidien.
Mais là, je bloque sur une chose assez banale, j'ai passé deux soirées dessus et je ne comprends pas ce qui cloche dans mon code.
Ma macro doit chercher une valeur dans la colonne A de mon tableau (un code postal) et placer dans la variable ville la valeur de la cellule B de la même ligne (la ville correspondante).
Ma feuille contient 37193 lignes (eh oui il y a beaucoup de villes en France).
Pour tester les valeurs, j'ai écrit le petit programme suivant qui fonctionne très bien:
(dans cet exemple admettons que je cherche le code postal 90000)
Msgbox me rapporte bien la ligne 31178 (juste) et la colonne 2 (juste puisque je me place immédiatement dans la colonne qui contient les noms des villes).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 With Worksheets("CP").Range("A2:A39173") Set codep = .Find("90000", LookIn:=xlValues) MsgBox "Ligne: " & codep.Row Msgbox "Colonne: " & codep.Column + 1 End With
Mais quand je veux stocker les données de la cellule, là ça ne fonctionne plus:
Et là >>> ma variable reste désespérément vide... Aucun message d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 With Worksheets("CP").Range("A2:A39173") Set codep = .Find("90000", LookIn:=xlValues) ville = Cells(codep.Row, codep.Column + 1).Value End With
Pour continuer les tests j'ai demandé à Excel de sélectionner la cellule demandée:
et j'ai cette fois une erreur d'exécution 1004 : la méthode Select de la classe Range a échoué.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Cells(codep.Row, codep.Column + 1).Select
Je n'arrive pas à comprendre ce que je fais de travers...
Merci de m'avoir lue, et merci d'avance pour votre aide
Bien cordialement
Partager