Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

macro recherche dans toute la page

4 réponses
Avatar
Rej c
Salut a vous tout et toute
ceci est ma première fois que je participe a un forum
j'ai fait une macro avec Excel 2007 pour suprimer des lignes dans une
feuille de calcul qui va comme suit : dans la collonne "description" chaque
fois que la macro rencontre les mots "Total facture" elle doit suprimer cette
ligne et la suivante, mais voila ma question, comment faire pour que la macro
recommence jusqu'a la fin du document ?

voici mon début de macro

=RECHERCHER.SELECTION("DESCRIPTION";1;2;1;1;FAUX)
=SELECTIONNER("L(2)C")
=TANT.QUE(LIRE.CELLULE(5)>0)
=RECHERCHER.SELECTION("Total facture";1;2;1;1;FAUX)
=SELECTIONNER("L()")
=EDITION.SUPPRIMER(2)
=EDITION.SUPPRIMER(2)
quel est la syntaxe pour la faire continuer tout le document et arrêter à la
fin?

--
Merci pour votre aide précieuse.

4 réponses

Avatar
michdenis
Bonjour Rej,


Dans Excel 2007, tu pourrais utiliser ce type de macro.

Tu fais un clic droit sur l'onglet de la feuille où l'action
doit se dérouler, dans le menu contextuel, tu sélectionnes
la commande "Visualiser le code..."

et dans la page blanche, tu copies la macro suivante :

Dans le code suivant, tu dois remplacer 2 choses :
A ) Le nom de la feuille par le nom de la feuille où l'action se déroule
B ) L'adresse de la plage de cellules... dans mon exemple j'ai utilisé
toute la colonne A mais cela pourrait être : B25:B500 ou
G64:G5000 , la première ligne mentionnée étant la ligne d'étiquette
de colonne.

Toi, la macro que tu présente, relève probablement de la version 4
et je n'y connais pas grand chose !

'------------------------------------------
Sub test()
Dim Rg As Range
'Nom de la feuille à adapter
With Worksheets("Feuil1")
'Adresse de colonne à adapter
With .Range("A:A")
.AutoFilter field:=1, Criteria1:="Total Facture"
Set Rg = .Range("_FilterDataBase")
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible)
.AutoFilter
Rg.Offset(1).Value = ""
Rg.EntireRow.Delete
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End With
End Sub
'------------------------------------------



"Rej c" a écrit dans le message de groupe de discussion :

Salut a vous tout et toute
ceci est ma première fois que je participe a un forum
j'ai fait une macro avec Excel 2007 pour suprimer des lignes dans une
feuille de calcul qui va comme suit : dans la collonne "description" chaque
fois que la macro rencontre les mots "Total facture" elle doit suprimer cette
ligne et la suivante, mais voila ma question, comment faire pour que la macro
recommence jusqu'a la fin du document ?

voici mon début de macro

=RECHERCHER.SELECTION("DESCRIPTION";1;2;1;1;FAUX)
=SELECTIONNER("L(2)C")
=TANT.QUE(LIRE.CELLULE(5)>0)
=RECHERCHER.SELECTION("Total facture";1;2;1;1;FAUX)
=SELECTIONNER("L()")
íITION.SUPPRIMER(2)
íITION.SUPPRIMER(2)
quel est la syntaxe pour la faire continuer tout le document et arrêter à la
fin?

--
Merci pour votre aide précieuse.
Avatar
michdenis
En passant, pour lancer cette macro de la feuille de calcul,
Raccourci clavier : Alt + F8

tu sélectionnes le nom de la macro dans la fenêtre, et tu
appuies sur le bouton "Exécuter".

.
Avatar
isabelle
bonjour Rej,

tu doit mettre l'instruction SUIVANT

TANT.QUE
Cette fonction exécute les instructions insérées entre les fonctions
TANT.QUE et SUIVANT jusqu'à ce que l'argument test_logique prenne la
valeur FAUX. Utilisez des boucles TANT.QUE-SUIVANT pour répéter une
série de formules macro tant qu'une condition donnée reste VRAI.

http://cjoint.com/?mmrdMPeFK8

isabelle

Rej c a écrit :
Salut a vous tout et toute
ceci est ma première fois que je participe a un forum
j'ai fait une macro avec Excel 2007 pour suprimer des lignes dans une
feuille de calcul qui va comme suit : dans la collonne "description" chaque
fois que la macro rencontre les mots "Total facture" elle doit suprimer cette
ligne et la suivante, mais voila ma question, comment faire pour que la macro
recommence jusqu'a la fin du document ?

voici mon début de macro

=RECHERCHER.SELECTION("DESCRIPTION";1;2;1;1;FAUX)
=SELECTIONNER("L(2)C")
=TANT.QUE(LIRE.CELLULE(5)>0)
=RECHERCHER.SELECTION("Total facture";1;2;1;1;FAUX)
=SELECTIONNER("L()")
íITION.SUPPRIMER(2)
íITION.SUPPRIMER(2)
quel est la syntaxe pour la faire continuer tout le document et arrêter à la
fin?




Avatar
Rej c
Mille mercis pour votre aide le résultat est très concluant.

--
Merci pour votre aide précieuse.


"michdenis" a écrit :

Bonjour Rej,


Dans Excel 2007, tu pourrais utiliser ce type de macro.

Tu fais un clic droit sur l'onglet de la feuille où l'action
doit se dérouler, dans le menu contextuel, tu sélectionnes
la commande "Visualiser le code..."

et dans la page blanche, tu copies la macro suivante :

Dans le code suivant, tu dois remplacer 2 choses :
A ) Le nom de la feuille par le nom de la feuille où l'action se déroule
B ) L'adresse de la plage de cellules... dans mon exemple j'ai utilisé
toute la colonne A mais cela pourrait être : B25:B500 ou
G64:G5000 , la première ligne mentionnée étant la ligne d'étiquette
de colonne.

Toi, la macro que tu présente, relève probablement de la version 4
et je n'y connais pas grand chose !

'------------------------------------------
Sub test()
Dim Rg As Range
'Nom de la feuille à adapter
With Worksheets("Feuil1")
'Adresse de colonne à adapter
With .Range("A:A")
.AutoFilter field:=1, Criteria1:="Total Facture"
Set Rg = .Range("_FilterDataBase")
Set Rg = Rg.Offset(1).Resize(Rg.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible)
.AutoFilter
Rg.Offset(1).Value = ""
Rg.EntireRow.Delete
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End With
End Sub
'------------------------------------------



"Rej c" a écrit dans le message de groupe de discussion :

Salut a vous tout et toute
ceci est ma première fois que je participe a un forum
j'ai fait une macro avec Excel 2007 pour suprimer des lignes dans une
feuille de calcul qui va comme suit : dans la collonne "description" chaque
fois que la macro rencontre les mots "Total facture" elle doit suprimer cette
ligne et la suivante, mais voila ma question, comment faire pour que la macro
recommence jusqu'a la fin du document ?

voici mon début de macro

=RECHERCHER.SELECTION("DESCRIPTION";1;2;1;1;FAUX)
=SELECTIONNER("L(2)C")
=TANT.QUE(LIRE.CELLULE(5)>0)
=RECHERCHER.SELECTION("Total facture";1;2;1;1;FAUX)
=SELECTIONNER("L()")
íITION.SUPPRIMER(2)
íITION.SUPPRIMER(2)
quel est la syntaxe pour la faire continuer tout le document et arrêter à la
fin?

--
Merci pour votre aide précieuse.