A voir également:
- Probleme boucle de recherche VBA sous Excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
2 réponses
Fxbrg
Messages postés
710
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
16 novembre 2013
199
29 févr. 2008 à 15:54
29 févr. 2008 à 15:54
Bonjour,
Ce serait plus simple avec un fichier exemple, si tu peux le joindre...
Dans le principe : donner à une variable la valeur de ton travail dans la feuille 1, avant de l'effacer, faire ensuite une recherche dans la feuille 2, quand tu trouves la même occurence, tu effaces la ligne entière dans la feuille 2...
A adapter : (il faut activer la feuille 2, etc...)
dim mavar
mavar=feuil1.A1
dim i
for i=1 to feuil2.usedrange.rows.count (là tu balayes toute la feuille)
if feuil2.cells(i,1)=mavar then
rows(i).delete
next
:-)
Ce serait plus simple avec un fichier exemple, si tu peux le joindre...
Dans le principe : donner à une variable la valeur de ton travail dans la feuille 1, avant de l'effacer, faire ensuite une recherche dans la feuille 2, quand tu trouves la même occurence, tu effaces la ligne entière dans la feuille 2...
A adapter : (il faut activer la feuille 2, etc...)
dim mavar
mavar=feuil1.A1
dim i
for i=1 to feuil2.usedrange.rows.count (là tu balayes toute la feuille)
if feuil2.cells(i,1)=mavar then
rows(i).delete
next
:-)
Fxbrg
Messages postés
710
Date d'inscription
samedi 17 mars 2007
Statut
Membre
Dernière intervention
16 novembre 2013
199
2 mars 2008 à 19:02
2 mars 2008 à 19:02
Pas clair :-)
Tu veux faire une recherche sur plusieurs cellules? Ou bien quand tu trouves une correspondance tu veux n'effacer que quelques cellules au lieu de toute une ligne?
Si je comprends bien...
mavar=feuil1.A5 & feuil1.B5 & feuil1.C5 & feuil1.D5 (le signe & colle tes cellules les unes derrières les autres, une concaténation pour les intimes... lol)
ensuite dans la boucle
if feuil2.cells(i,1) & feuil2.cells(i,2) & feuil2.cells(i,3) & feuil2.cells(i,4)=mavar then...
:-)
Tu veux faire une recherche sur plusieurs cellules? Ou bien quand tu trouves une correspondance tu veux n'effacer que quelques cellules au lieu de toute une ligne?
Si je comprends bien...
mavar=feuil1.A5 & feuil1.B5 & feuil1.C5 & feuil1.D5 (le signe & colle tes cellules les unes derrières les autres, une concaténation pour les intimes... lol)
ensuite dans la boucle
if feuil2.cells(i,1) & feuil2.cells(i,2) & feuil2.cells(i,3) & feuil2.cells(i,4)=mavar then...
:-)
29 févr. 2008 à 16:18
Super sa marche nikel.
merci beaucoup
a+
2 mars 2008 à 18:46
J'ai encore un problème dans ce code que j'ai recu:
dim mavar
mavar=feuil1.A1
dim i
for i=1 to feuil2.usedrange.rows.count (là tu balayes toute la feuille)
if feuil2.cells(i,1)=mavar then
rows(i).delete
next
La recherche est basé que sur la première cellule ce qui m'en efface plusieurs au lieu de prendre en compte toutes les cellules de la ligne.
J'aimerai donc je le rappel, que quand j'efface des cellules sélectionnés dans feuil1 il recherche la ligne dans feuill2 avec les mêmes valeurs dans feuill2 que celle de feuil1 et les effaces sa devrait donner ceci, le problème que j'ai et que je n'arrive pas a dire que i doit prendre en cours cells( i, 1) cells( i, 2 )cells (i, 3 )etc
sheets("feuil1").activate
dim mavar as string
mavar=feuil1.A5.B5.C5.D5
sheets("feuil2").activate
for i=1 to feuil2.usedrange.rows.count
if feuil2.cells(i, 1) + cells(i, 2) + cells(i,3) + cells(i, 4) = mavar then rows(i).ClearContents
next i
Merci d'avance pour votre aide
a+