Excel : besoin d'aide pour utilisation FindAll

Résolu/Fermé
Yago - Modifié par Yago le 31/05/2016 à 21:56
 Yago - 1 juin 2016 à 15:14
Bonjour,


J'utilise un tableau excel pour répertorier du matériel qui se tient sur 2 pages.
La 1ère feuille est ma page d'accueil et ma seconde feuille est ma base de donnée.
J'aimerai utiliser la fonction FindAll pour trouver toutes les lignes de ma feuille 2, colonne C, qui correspondent au mot qui est dans la cellule "F12" de ma première feuille (comme un Ctrl + F, car j'ai plusieurs matériel avec la même désignation).

J'arrive à faire une recherche simple avec la fonction Find, mais je bloque avec FindAll (mes compétences et mon niveau de connaissance se limitent à Find : j'ai mis une journée entière pour arriver au résultat attendu, c'est vous dire !!!).

Merci d'avance pour votre aide et bonne journée à tous.

A voir également:

1 réponse

jordane45 Messages postés 38405 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 février 2025 4 732
1 juin 2016 à 00:42
Bonjour,
Sur quoi bloques tu exactement ?
Quel code as tu écris ?

0
jordane45 Messages postés 38405 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 février 2025 4 732
1 juin 2016 à 00:46
Sachant que les résultats trouvés (du moins les numéros des lignes dans lesquelles ont été trouvé les résultats) sont dans la variable (de type array) arMatches

Et donc, voila tout ce qu'il y a à savoir sur la manipulation des "array" en VBA : https://silkyroad.developpez.com/vba/tableaux/
0
Yago > jordane45 Messages postés 38405 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 février 2025
1 juin 2016 à 01:51
Merci de ton aide Jordane45, je regarde le tout demain au travail et je revoie les informations, (fichier avec code) si je n'arrive pas à trouver la solution (pour info j'écris du Québec, heure + 6).
0
Problème résolu.

Finalement je suis passé par une autre solution (trouvée ici : http://dj.joss.free.fr/occurence.htm) et que j'ai adaptée à mon besoin comme suit :

Sub RechMatparDesign()


valeur = Sheets("Formulaires").Range("F12")
Sheets("Outils global").Activate
Set SearchRange = Columns(3)
Set trouvé1 = Cells.Find(What:=valeur)
If Not trouvé1 Is Nothing Then
trouvé1.Activate
étiq:
If MsgBox("Suivant ?", 4) = vbNo Then Exit Sub
Set trouvé2 = Cells.FindNext(After:=ActiveCell)
If trouvé2.Columns <> trouvé1.Column Or trouvé2.Row <> trouvé1.Row Then
trouvé2.Activate
GoTo étiq
End If
End If

End Sub


Il me reste à affecter le bouton de recherche à cette macro.

Merci à Jordane45 pour son aide et pour son lien qui contient une foule d'informations précieuses (il va au moins me falloir une année pour tenter de tout comprendre et une autre pour m'en remettre...)
0