Bonjour
Je débute actuellement en vba donc pardonnez la possible mauvaise syntaxe de mon code. j'utilise beaucoup l'enregistreur de macro.
je cherche à faire une macro qui cherche toutes les valeurs d'une colonne A d'un onglet A dans un autre ongletB et qui à la manière d'une recherchev renvoit la valeur situèe une case à sa droite et la colle dans la la colonne B de l'onglet A. la difficulté est qu'il ya plusieur correspondances et je voudrait obtenir ceci ( en rouge ce que la macro donnerais en résultat)
chaque espace délimite une cellule
onglet A
1 A A2
2 B B2
3 C
onglet B
1 A
2 B
1 A2
2 B2
3 C
j'ai pas mal travaillé dessus et j'ai abouti à ce code qui à marché pour des valeurs numériques mais qui maintenant me revoie une erreure "erreure d'execution 91 variable objet ou variable de bloc with non défini"
d'une je n'ai aucune idée de ce qu'est un bloc with et de deux je pense avoir défini toute les variables. ce qui manifestement est faux
donc je suis un peu perdu, si vous pouvez me dire ce qui cloche ou ce qui serait plus adapté voila mon code :
La ligne qui pose problème serait la fonction find
ca fait plusieur heure que je suis dessus et je ne sais plus quoi faire
Merci d'avance
Je débute actuellement en vba donc pardonnez la possible mauvaise syntaxe de mon code. j'utilise beaucoup l'enregistreur de macro.
je cherche à faire une macro qui cherche toutes les valeurs d'une colonne A d'un onglet A dans un autre ongletB et qui à la manière d'une recherchev renvoit la valeur situèe une case à sa droite et la colle dans la la colonne B de l'onglet A. la difficulté est qu'il ya plusieur correspondances et je voudrait obtenir ceci ( en rouge ce que la macro donnerais en résultat)
chaque espace délimite une cellule
onglet A
1 A A2
2 B B2
3 C
onglet B
1 A
2 B
1 A2
2 B2
3 C
j'ai pas mal travaillé dessus et j'ai abouti à ce code qui à marché pour des valeurs numériques mais qui maintenant me revoie une erreure "erreure d'execution 91 variable objet ou variable de bloc with non défini"
d'une je n'ai aucune idée de ce qu'est un bloc with et de deux je pense avoir défini toute les variables. ce qui manifestement est faux
donc je suis un peu perdu, si vous pouvez me dire ce qui cloche ou ce qui serait plus adapté voila mon code :
Code:
Sub existingeval_notlist()
Application.ScreenUpdating = False
Dim i, i2, bouclefin, bouclefin2, k As Integer
Dim j As String
Dim r, c As Integer
'je rend visible l'onglet B
Sheets(5).Visible = True
'on se place dans l'onglet A
Sheets(8).Select
bouclefin = Range("E" & Range("E65536").End(xlUp).Row).Row
For i = 2 To bouclefin
Sheets(8).Select
'j = valeur à cherché
j = Cells(i, 5).Value
' r et c sont les la ligne et la colonne de activecell qui permette de faire redémarer la fonctipn find après la cellule active
r = 2
c = 4
'K permet est le numéro de collone dans laquelle la valeur renvoyé doit se coller
k = 6
Sheets(5).Select
'initie le nombre d'occurence à exécuter
bouclefin2 = WorksheetFunction.CountIf(Range("D1:D" & Range("D65536").End(xlUp).Row), j)
For i2 = 1 To bouclefin2
Columns("D:D").Select
Selection.Find(What:=j, After:=Cells(r, c), LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
r = ActiveCell.Row
c = ActiveCell.Column
ActiveCell.Offset(0, 1).Copy
Sheets(8).Select
Cells(i, k).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
k = k + 1
Sheets(1).Select
Next
Next
Sheets(5).Visible = False
Application.ScreenUpdating = True
La ligne qui pose problème serait la fonction find
ca fait plusieur heure que je suis dessus et je ne sais plus quoi faire
Merci d'avance