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

Rechrche verticale avec plusieurs valeurs

  • Initiateur de la discussion Initiateur de la discussion Norty7
  • 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 !

N

Norty7

Guest
Hello forum,

J'ai trouvé un code qui permet de faire une recherchev dans la colonne A de la feuille "Feuil1" pour en rappatrier plusieurs valeurs vers la feuille "MESSAGES-OK".

Dans Feuil1 j'ai:
ColA ColB
1 A
1 A
2 B
2 B
3 C
4 D

Dans "MESSAGES-OK" je rappatrie:
ColA ColB ColC ColD
1 A A
2 B B
3 C
4 D

Et là, il a sauté la colonne B.

Question:Comment faire pour avoir en "MESSAGES-OK"
ColA ColB
1 A,A
2 B,B
3 C
4 D

Voici le code:

Sub options()
Dim Model As String
Dim cells1, cells2 As Range
Dim i
For Each cells1 In Worksheets("MESSAGES-OK").Range("A1:A" & Worksheets("MESSAGES-OK").Range("A65536").End(xlUp).Row)
Model = cells1.Value
i = 2
For Each cells2 In Worksheets("Feuil1").Range("A1:A" & Worksheets("Feuil1").Range("A65536").End(xlUp).Row)
If cells2.Value = Model Then
cells1.Offset(0, i) = cells2.Offset(0, 1).Value
i = i + 1
End If
Next
Next
End Sub

D'avance merci de votre aide.
 
Re : Rechrche verticale avec plusieurs valeurs

Bonjour

le décalage de deux est provoqué par le i = 2.

est-ce que i=1 fonctionne mieux ?

Pour plus d'aide, merci de joindre un fichier exemple, c'est plus agréable que de copier/collé

Olivier
 
Re : Rechrche verticale avec plusieurs valeurs

Bonjour Odesta,

Effectivement c'était ca...merci

Sans vouloir abuser, est il possible de rapptrier les valeurs et les séparer par une virgule quand elles sont multiples??? je mets mon fichier en PJ.

Encore merci.
 

Pièces jointes

Re : Rechrche verticale avec plusieurs valeurs

Hop :

VB:
Sub options()
Dim Model As String
Dim cells1, cells2 As Range
Dim nb
For Each cells1 In Worksheets("MESSAGES-OK").Range("A1:A" & Worksheets("MESSAGES-OK").Range("A65536").End(xlUp).Row)
Model = cells1.Value
nb = 0
For Each cells2 In Worksheets("Feuil1").Range("A1:A" & Worksheets("Feuil1").Range("A65536").End(xlUp).Row)
If cells2.Value = Model Then
    nb = nb + 1
    If nb = 1 Then
        cells1.Offset(0, 1).Value = cells2.Offset(0, 1).Value
    Else
        cells1.Offset(0, 1).Value = cells1.Offset(0, 1).Value & ", " & cells2.Offset(0, 1).Value
    End If
End If
Next
Next
End Sub

Olivier
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
908
Réponses
15
Affichages
779
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…