Problème avec macro de recherche
Fermé
McFly626
Messages postés
3
Date d'inscription
samedi 16 mars 2013
Statut
Membre
Dernière intervention
16 mars 2013
-
16 mars 2013 à 11:16
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 - 16 mars 2013 à 17:38
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 - 16 mars 2013 à 17:38
A voir également:
- Problème avec macro de recherche
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Macro word - Guide
- Recherche adresse - Guide
- Recherche avec photo - Guide
2 réponses
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 737
16 mars 2013 à 12:11
16 mars 2013 à 12:11
Bonjour
En supposant toutes les feuilles déjà existantes
et les données commençant en A2 avec un titre de colonne en A1
la macro de recopie peut être :
Sub recopie()
Sheets(2).Select
der = Range("A1").End(xlDown).Row
For n = 2 To der
code = Sheets(2).Range("A" & n).Value
Sheets(1).Select
der2 = Sheets(1).Range("A1").End(xlDown).Row
x = 1
For t = 2 To der2
If Sheets(1).Range("A" & t).Value = code Then
x = x + 1
Sheets(n + 1).Range("A" & x).Value = Sheets(1).Range("A" & t).Value
Sheets(n + 1).Range("B" & x).Value = Sheets(1).Range("B" & t).Value
Sheets(n + 1).Range("C" & x).Value = Sheets(1).Range("C" & t).Value
Sheets(n + 1).Range("D" & x).Value = Sheets(1).Range("D" & t).Value
End If
Next t
Next n
End Sub
A adapter en fonction de ton fichier
Cdlmnt
En supposant toutes les feuilles déjà existantes
et les données commençant en A2 avec un titre de colonne en A1
la macro de recopie peut être :
Sub recopie()
Sheets(2).Select
der = Range("A1").End(xlDown).Row
For n = 2 To der
code = Sheets(2).Range("A" & n).Value
Sheets(1).Select
der2 = Sheets(1).Range("A1").End(xlDown).Row
x = 1
For t = 2 To der2
If Sheets(1).Range("A" & t).Value = code Then
x = x + 1
Sheets(n + 1).Range("A" & x).Value = Sheets(1).Range("A" & t).Value
Sheets(n + 1).Range("B" & x).Value = Sheets(1).Range("B" & t).Value
Sheets(n + 1).Range("C" & x).Value = Sheets(1).Range("C" & t).Value
Sheets(n + 1).Range("D" & x).Value = Sheets(1).Range("D" & t).Value
End If
Next t
Next n
End Sub
A adapter en fonction de ton fichier
Cdlmnt
McFly626
Messages postés
3
Date d'inscription
samedi 16 mars 2013
Statut
Membre
Dernière intervention
16 mars 2013
16 mars 2013 à 14:40
16 mars 2013 à 14:40
Merci pour cette réponse via55, cependant, j'ai oublié de préciser que la colonne du tableau de la feuille 1 contient plusieurs fois les valeurs recherchées, et ce que je cherche à faire c'est lister automatiquement ces valeurs dans les autres feuilles Excel.
Ne faut-il alors pas utiliser plutôt une fonction boucle For Each... Next ?
Ne faut-il alors pas utiliser plutôt une fonction boucle For Each... Next ?
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 737
16 mars 2013 à 15:14
16 mars 2013 à 15:14
C'est bien ce que fait ma macro avec For t= 2 to der2 qui examine toutes les lignes du tableau 1 et quand trouve la valeur recherchée (If Sheets(1).Range("A" & t).Value = code) incremente le compteur de ligne (x=x+1) et copie en ligne x de la nouvelle feuille les colonnes du tableau 1 avant de passer à l'examen de la ligne suivante du tableau 1
Si tu as 5 fois la valeur recherchée dans le tableau 1 tu auras bien 5 lignes recopiées dans la feuille destination
Si tu as 5 fois la valeur recherchée dans le tableau 1 tu auras bien 5 lignes recopiées dans la feuille destination
McFly626
Messages postés
3
Date d'inscription
samedi 16 mars 2013
Statut
Membre
Dernière intervention
16 mars 2013
16 mars 2013 à 17:20
16 mars 2013 à 17:20
Très bien, je n'ai pas dû bien adapter ta formule à mon tableau alors. Merci !
via55
Messages postés
14502
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
9 décembre 2024
2 737
16 mars 2013 à 17:38
16 mars 2013 à 17:38
Si tu veux tu peux envoyer un exemple de ton fichier anonymé et allégé si necessaire avec ta macro en passant par cjoint.com et enm'indiquant le lien fourni dans un prochain message, je regarderai ce qui cloche
Cdlmnt
Cdlmnt