Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

vba code pour recherche

  • Initiateur de la discussion Initiateur de la discussion tony555
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tony555

XLDnaute Nouveau
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 :
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
 
Re : vba code pour recherche

Bonjour tony555 et bienvenue sur le forum,

Sans fichier exemple il est difficile de t'aider efficacement.

Peut-être te dirais-je d'appeler l'aide de l'éditeur de macro (F1) sur la méthode FIND. aide qui expose un exemple concret et très clair de recherche.

dans
Code:

A+

[Hello] Michel🙂
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
233
Réponses
1
Affichages
180
Réponses
4
Affichages
179
Réponses
10
Affichages
547
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…