rechercher et ecrire

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

J

Jimmy

Guest
bonjour tout le monde, j'ai une question mais pas la réponse (je ne l'ai pas trouvée sur le forum)

Detail:

j'ai un classeur avec plusieurs feuille, la premiere est une feuille avec toutes mes données, les autres feuilles sont des parties de la premieres feuilles classées différement.

ma question:
la premiere colonne de ma feuille principale est remplie de référence, j'aimerai faire une macro vba pour chercher par rapport a toutes ces references ou se trouve les différentes lignes qui sont partagés dans les autres feuilles, et, ecrire dans une colonne de ma feuille de reference le nom de la feuille ou se retrouve la dite référence ?

Ps: je ne sais pas si je me suis fait comprendre, c'est un peu du charabia, n'hésitez pas à me demander des précisions
 
Bonjour a toi sauveur du dimanche !!

j'ai regardé ton code, c vrai que je ne suis pas tres calé en 'codage', mais je tends à m'améliorer, ma question est la suivante :
est ce possible de lancer la procédure pour toute le colonne A du fichier référence et de mettre (comme tu l'as si bien fait) le nom de la page en face de la référence.
Ps: ce que tu as fait est deja amplement suffisant, mais je pense que sans la combo box et les options ca serait plus simple.

Merci à toi ENCORE.
Jimmy
 
re

Pas sur d'avoir tout compris :

Tu veux retrouver pour chaque nom dans la colonne A les adresses de ce nom dans les autres feuilles ?

Code:
Public Sub recherche()
Dim ws As Worksheet
Dim c As Range, cel As Range
Dim x As Byte
Dim firstAddress
x = 2
Range('e2:f100').ClearContents

For Each cel In Range('a1:a' & Range('a65536').End(xlUp).Row)
    For Each ws In Worksheets
        If ws.Name <> 'Feuil1' Then
            Set c = ws.Range('a1:p150').Find(cel.Value)
            If Not c Is Nothing Then
                firstAddress = c.Address
                Do
                    Cells(x, 4) = cel.Value
                    Cells(x, 5) = ws.Name
                    Cells(x, 6) = c.Address(0, 0)
                    x = x + 1
                    Set c = ws.Range('a1:p150').FindNext(c)
                Loop While Not c Is Nothing And c.Address <> firstAddress
            End If
        End If
    Next ws
Next cel
End Sub
Si tu veux pouvoir rechercher des minuscules ou des majuscules, rajoute : option compare text avant le Public Sub recherche()
 
- 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

Retour