[Excel] Macro de recherche toutes feuilles
Résolu
el osito
Messages postés
5
Statut
Membre
-
bertie312 Messages postés 17 Statut Membre -
bertie312 Messages postés 17 Statut Membre -
Bonjour à tous,
je suis actuellement en galère, je souhaite faire une macro excel de recherche d'une suite alpha-numérique.
Pour expliquer avec plus de détails, sur ma première feuille de mon classeur (feuille de "menu"), je souhaite pouvoir entrer ma suite alpha-numérique et ensuite lancer une macro qui me trouvera cette suite au sein des différentes feuilles. Je précise que cette suite est unique et se trouve donc une seule fois au sein des feuilles.
Merci d'éclairer le néophyte que je suis dans ses débuts de macros...
je suis actuellement en galère, je souhaite faire une macro excel de recherche d'une suite alpha-numérique.
Pour expliquer avec plus de détails, sur ma première feuille de mon classeur (feuille de "menu"), je souhaite pouvoir entrer ma suite alpha-numérique et ensuite lancer une macro qui me trouvera cette suite au sein des différentes feuilles. Je précise que cette suite est unique et se trouve donc une seule fois au sein des feuilles.
Merci d'éclairer le néophyte que je suis dans ses débuts de macros...
A voir également:
- [Excel] Macro de recherche toutes feuilles
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Feuille de pointage excel - Télécharger - Tableur
5 réponses
Bonjour el osito,
Voici une macro qui j'espère te conviendra :
Tu peux la saisir telle quelle dans un module de code, ou saisir les lignes situées entre 'Private Sub' et 'End Sub' dans l'événement 'Click' d'un bouton. Les commentaires devraient te suffire à comprendre le déroulement.
Espérant t'avoir été utile.
Cordialement.
Voici une macro qui j'espère te conviendra :
Private Sub ChercheTexte()
' Parcourt les Feuilles de la 2ème à la dernière
For sh = 2 To Sheets.Count
With Sheets(sh).Range("a1:iv65536")
' recherche la valeur située en 'A1' sur la première feuille
Set t = .Find(Sheets(1).Range("a1").Value, LookIn:=xlValues)
If Not t Is Nothing Then
' Si la valeur est trouvée, alors
' Active la feuille contenant cette valeur
Sheets(sh).Activate
' Récupère l'adresse de la cellule trouvée et la selectionne
a = t.Address
.Range(a).Select
' Arrête la recherche
Exit Sub
End If
End With
Next
End Sub
Tu peux la saisir telle quelle dans un module de code, ou saisir les lignes situées entre 'Private Sub' et 'End Sub' dans l'événement 'Click' d'un bouton. Les commentaires devraient te suffire à comprendre le déroulement.
Espérant t'avoir été utile.
Cordialement.
Petite précision :
Si tu saisis ce code dans un module, il te faut remplacer 'Private Sub' par 'Public Sub', autrement tu obtiendras un message d'erreur.
Cordialement.
Si tu saisis ce code dans un module, il te faut remplacer 'Private Sub' par 'Public Sub', autrement tu obtiendras un message d'erreur.
Cordialement.
Merci bien de tous ces conseils, en plus avec les commentaires j'ai pu comprendre parfaitement la procédure.
Merci à vous deux
Voici le code final :
Merci d'aider aussi bien et aussi vite les petits néophytes comme moi, ça nous donne de l'espoir...
Petite citation au passage : "La connaissance est la seule chose qui s'accroit lorsqu'on la partage." ;-)
Merci à vous deux
Voici le code final :
Private Sub CommandButton1_Click()
' Parcourt les Feuilles de la 2ème à la dernière
For sh = 2 To Sheets.Count
With Sheets(sh).UsedRange
' recherche la valeur située en 'C7' sur la première feuille
Set t = .Find(Sheets(1).Range("c7").Value, LookIn:=xlValues)
If Not t Is Nothing Then
' Si la valeur est trouvée, alors
' Active la feuille contenant cette valeur
Sheets(sh).Activate
' Récupère l'adresse de la cellule trouvée et la selectionne
a = t.Address
.Range(a).Select
' Arrête la recherche
Exit Sub
End If
End With
Next
End Sub
Merci d'aider aussi bien et aussi vite les petits néophytes comme moi, ça nous donne de l'espoir...
Petite citation au passage : "La connaissance est la seule chose qui s'accroit lorsqu'on la partage." ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question