Suppression de données en fonction du contenu d'une cellule
5 réponses
Ceno
Bonjour =E0 tous,
Apres int=E9gration d'un fichier dans excel assez volumineux (plusieurs
pages) j'obtiens mes infos seulement =E0 chaque bas de page il y a une
l=E9gende que j aimerais supprimer pour laisser des lignes vides.
Donc il me faudrait quelque chose qui s=E9lectionne toute les lignes
dans lesquelles se trouve une cellule qui contient ma l=E9gende du type
"Abr=E9viations utilis=E9es..." et qui efface tout le contenu de ces
lignes.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonjour,
Vide les lignes contenant un texte :
Sub xx() chaine = "Abréviations utilisées" Set champ = [A:D] Set c = champ.Find(chaine, LookIn:=xlValues, LookAt:=xlPart) If Not c Is Nothing Then premier = c.Address Range(c.Address).Select Do Set c = champ.FindNext(c) Union(Selection, Range(c.Address)).Select Loop While Not c Is Nothing And c.Address <> premier End If Selection.EntireRow.ClearContents End Sub
http://cjoint.com/?dDn2F4ZgEZ
JB
On 29 mar, 10:04, "Ceno" wrote:
Bonjour à tous,
Apres intégration d'un fichier dans excel assez volumineux (plusieurs pages) j'obtiens mes infos seulement à chaque bas de page il y a une légende que j aimerais supprimer pour laisser des lignes vides.
Donc il me faudrait quelque chose qui sélectionne toute les lignes dans lesquelles se trouve une cellule qui contient ma légende du type "Abréviations utilisées..." et qui efface tout le contenu de ces lignes.
Par avance merci et bonne journée.
Bonjour,
Vide les lignes contenant un texte :
Sub xx()
chaine = "Abréviations utilisées"
Set champ = [A:D]
Set c = champ.Find(chaine, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
premier = c.Address
Range(c.Address).Select
Do
Set c = champ.FindNext(c)
Union(Selection, Range(c.Address)).Select
Loop While Not c Is Nothing And c.Address <> premier
End If
Selection.EntireRow.ClearContents
End Sub
http://cjoint.com/?dDn2F4ZgEZ
JB
On 29 mar, 10:04, "Ceno" <cedric-...@ifrance.com> wrote:
Bonjour à tous,
Apres intégration d'un fichier dans excel assez volumineux (plusieurs
pages) j'obtiens mes infos seulement à chaque bas de page il y a une
légende que j aimerais supprimer pour laisser des lignes vides.
Donc il me faudrait quelque chose qui sélectionne toute les lignes
dans lesquelles se trouve une cellule qui contient ma légende du type
"Abréviations utilisées..." et qui efface tout le contenu de ces
lignes.
Sub xx() chaine = "Abréviations utilisées" Set champ = [A:D] Set c = champ.Find(chaine, LookIn:=xlValues, LookAt:=xlPart) If Not c Is Nothing Then premier = c.Address Range(c.Address).Select Do Set c = champ.FindNext(c) Union(Selection, Range(c.Address)).Select Loop While Not c Is Nothing And c.Address <> premier End If Selection.EntireRow.ClearContents End Sub
http://cjoint.com/?dDn2F4ZgEZ
JB
On 29 mar, 10:04, "Ceno" wrote:
Bonjour à tous,
Apres intégration d'un fichier dans excel assez volumineux (plusieurs pages) j'obtiens mes infos seulement à chaque bas de page il y a une légende que j aimerais supprimer pour laisser des lignes vides.
Donc il me faudrait quelque chose qui sélectionne toute les lignes dans lesquelles se trouve une cellule qui contient ma légende du type "Abréviations utilisées..." et qui efface tout le contenu de ces lignes.
Par avance merci et bonne journée.
FFO
Salut Ceno Une autre solution traitant plusieurs onglets En supposant que ta légende soit dans une cellule de la colonne A (à adapter) n = Sheets.Count For i = 1 To n For Each c In Worksheets(i).Range("A1:A65535") If c = "Abréviations utilisées" Then c.EntireRow.Clear End If Next Next
Bonjour à tous,
Apres intégration d'un fichier dans excel assez volumineux (plusieurs pages) j'obtiens mes infos seulement à chaque bas de page il y a une légende que j aimerais supprimer pour laisser des lignes vides.
Donc il me faudrait quelque chose qui sélectionne toute les lignes dans lesquelles se trouve une cellule qui contient ma légende du type "Abréviations utilisées..." et qui efface tout le contenu de ces lignes.
Par avance merci et bonne journée.
Salut Ceno
Une autre solution traitant plusieurs onglets
En supposant que ta légende soit dans une cellule de la colonne A (à adapter)
n = Sheets.Count
For i = 1 To n
For Each c In Worksheets(i).Range("A1:A65535")
If c = "Abréviations utilisées" Then
c.EntireRow.Clear
End If
Next
Next
Bonjour à tous,
Apres intégration d'un fichier dans excel assez volumineux (plusieurs
pages) j'obtiens mes infos seulement à chaque bas de page il y a une
légende que j aimerais supprimer pour laisser des lignes vides.
Donc il me faudrait quelque chose qui sélectionne toute les lignes
dans lesquelles se trouve une cellule qui contient ma légende du type
"Abréviations utilisées..." et qui efface tout le contenu de ces
lignes.
Salut Ceno Une autre solution traitant plusieurs onglets En supposant que ta légende soit dans une cellule de la colonne A (à adapter) n = Sheets.Count For i = 1 To n For Each c In Worksheets(i).Range("A1:A65535") If c = "Abréviations utilisées" Then c.EntireRow.Clear End If Next Next
Bonjour à tous,
Apres intégration d'un fichier dans excel assez volumineux (plusieurs pages) j'obtiens mes infos seulement à chaque bas de page il y a une légende que j aimerais supprimer pour laisser des lignes vides.
Donc il me faudrait quelque chose qui sélectionne toute les lignes dans lesquelles se trouve une cellule qui contient ma légende du type "Abréviations utilisées..." et qui efface tout le contenu de ces lignes.
Par avance merci et bonne journée.
Ceno
Merci JB, je viens de l'essayer ça marche nickel.
Puis-je encore demander un petit service, voila dans cette feuille j'ai des lignes "abréviation utilisées" qui ont bien disparues,mais j'ai d'autres lignes juste en dessous avec " .= " je sais pas pourquoi et j'aimerais les supprimer de la même façon. J'ai copié la macro précédente en remplaçant "abréviation utilis ées" par " .= " et ça marche bien, seulement j'ai deux macros. Est ce possible d'en avoir une seule pour faire la même chose que ces deux étapes ?
Merci.
Merci JB, je viens de l'essayer ça marche nickel.
Puis-je encore demander un petit service, voila dans cette feuille
j'ai des lignes "abréviation utilisées" qui ont bien disparues,mais
j'ai d'autres lignes juste en dessous avec " .= " je sais pas pourquoi
et j'aimerais les supprimer de la même façon.
J'ai copié la macro précédente en remplaçant "abréviation utilis ées"
par " .= " et ça marche bien, seulement j'ai deux macros. Est ce
possible d'en avoir une seule pour faire la même chose que ces deux
étapes ?
Puis-je encore demander un petit service, voila dans cette feuille j'ai des lignes "abréviation utilisées" qui ont bien disparues,mais j'ai d'autres lignes juste en dessous avec " .= " je sais pas pourquoi et j'aimerais les supprimer de la même façon. J'ai copié la macro précédente en remplaçant "abréviation utilis ées" par " .= " et ça marche bien, seulement j'ai deux macros. Est ce possible d'en avoir une seule pour faire la même chose que ces deux étapes ?
Merci.
JB
Bonjour,
Avec Find, on ne peut chercher qu'une chaine à la fois.
Sub videLignes() Set champ = [A:D] chaine = "Abréviations utilisées" Set c = champ.Find(chaine, LookIn:=xlValues, LookAt:=xlPart) If Not c Is Nothing Then premier = c.Address Range(c.Address).Select Do Set c = champ.FindNext(c) Union(Selection, Range(c.Address)).Select Loop While Not c Is Nothing And c.Address <> premier End If '-- chaine = "=" Set c = champ.Find(chaine, LookIn:=xlValues, LookAt:=xlPart) If Not c Is Nothing Then premier = c.Address Union(Selection, Range(c.Address)).Select Do Set c = champ.FindNext(c) Union(Selection, Range(c.Address)).Select Loop While Not c Is Nothing And c.Address <> premier End If '-- Selection.EntireRow.ClearContents End Sub
JB
On 30 mar, 11:17, "Ceno" wrote:
MerciJB, je viens de l'essayer ça marche nickel.
Puis-je encore demander un petit service, voila dans cette feuille j'ai des lignes "abréviation utilisées" qui ont bien disparues,mais j'ai d'autres lignes juste en dessous avec " .= " je sais pas pourquoi et j'aimerais les supprimer de la même façon. J'ai copié la macro précédente en remplaçant "abréviation utili sées" par " .= " et ça marche bien, seulement j'ai deux macros. Est ce possible d'en avoir une seule pour faire la même chose que ces deux étapes ?
Merci.
Bonjour,
Avec Find, on ne peut chercher qu'une chaine à la fois.
Sub videLignes()
Set champ = [A:D]
chaine = "Abréviations utilisées"
Set c = champ.Find(chaine, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
premier = c.Address
Range(c.Address).Select
Do
Set c = champ.FindNext(c)
Union(Selection, Range(c.Address)).Select
Loop While Not c Is Nothing And c.Address <> premier
End If
'--
chaine = "="
Set c = champ.Find(chaine, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
premier = c.Address
Union(Selection, Range(c.Address)).Select
Do
Set c = champ.FindNext(c)
Union(Selection, Range(c.Address)).Select
Loop While Not c Is Nothing And c.Address <> premier
End If
'--
Selection.EntireRow.ClearContents
End Sub
JB
On 30 mar, 11:17, "Ceno" <cedric-...@ifrance.com> wrote:
MerciJB, je viens de l'essayer ça marche nickel.
Puis-je encore demander un petit service, voila dans cette feuille
j'ai des lignes "abréviation utilisées" qui ont bien disparues,mais
j'ai d'autres lignes juste en dessous avec " .= " je sais pas pourquoi
et j'aimerais les supprimer de la même façon.
J'ai copié la macro précédente en remplaçant "abréviation utili sées"
par " .= " et ça marche bien, seulement j'ai deux macros. Est ce
possible d'en avoir une seule pour faire la même chose que ces deux
étapes ?
Avec Find, on ne peut chercher qu'une chaine à la fois.
Sub videLignes() Set champ = [A:D] chaine = "Abréviations utilisées" Set c = champ.Find(chaine, LookIn:=xlValues, LookAt:=xlPart) If Not c Is Nothing Then premier = c.Address Range(c.Address).Select Do Set c = champ.FindNext(c) Union(Selection, Range(c.Address)).Select Loop While Not c Is Nothing And c.Address <> premier End If '-- chaine = "=" Set c = champ.Find(chaine, LookIn:=xlValues, LookAt:=xlPart) If Not c Is Nothing Then premier = c.Address Union(Selection, Range(c.Address)).Select Do Set c = champ.FindNext(c) Union(Selection, Range(c.Address)).Select Loop While Not c Is Nothing And c.Address <> premier End If '-- Selection.EntireRow.ClearContents End Sub
JB
On 30 mar, 11:17, "Ceno" wrote:
MerciJB, je viens de l'essayer ça marche nickel.
Puis-je encore demander un petit service, voila dans cette feuille j'ai des lignes "abréviation utilisées" qui ont bien disparues,mais j'ai d'autres lignes juste en dessous avec " .= " je sais pas pourquoi et j'aimerais les supprimer de la même façon. J'ai copié la macro précédente en remplaçant "abréviation utili sées" par " .= " et ça marche bien, seulement j'ai deux macros. Est ce possible d'en avoir une seule pour faire la même chose que ces deux étapes ?
Merci.
Ceno
Un grand merci à toi JB. Excellent. Exactement ce que je voulais.
Un grand merci à toi JB.
Excellent.
Exactement ce que je voulais.