OVH Cloud OVH Cloud

SUPPRIMER UNE LIGNE

19 réponses
Avatar
Sofien Djelassi
Bonjour,

je cherche à supprimer de mon tableau EXCEL toutes les lignes dont une
cellule contient le mot "Total".

Merci d'avance pour vos réponses
--
Sofien

10 réponses

1 2
Avatar
anonymousA
bonjour,

La méthode ci-dessous ne fait pas appel à VBA car pour ta demande ce n'est
pas absolument necessaire.

je vais supposer que ce que tu demandes c'est la suppression de lignes pour
lesquelles dans une colonne donnée (mettons ici la colonne A) il existe des
cellules contenant le mot Total.Je suppose bien sur que ton tableau fait
cependant plusieurs colonnes .Je suppose aussi que ta feuille ne contient que
ton tableau car sinon des infos sur d'autres cellules risqueraient d'être
effacées.
Si il faut que la recherche ait lieu sur plusieurs colonnes à la fois,
utiliser un filtre élaboré avec le même principe d'élimination que ce qui va
suivre sera sans doute la solution.

En 1er lieu, tu prends la précaution de copier la ligne des entetes de ton
tableau sur une autre feuille.
Ensuite, on utilise un filtre automatique sur le tableau considéré. Dans le
filtre de la colonne A, tu chosis "Personnalisé" et tu choisis dans la boite
de dialogue l'option "contient" et tu tapes dans la boite de critères le
texte *Total*. Une fois obtenus les enregistrements en question, tu fais
Edition/Atteindre/Cellules/Cellules visibles seulement.
Puis tu fais Edition/Supprimer la ligne.
Ton tableau se verra supprimé de toutes les lignes filtrées y compris
l'entete qu'il te faudra réinsérer en début de ton tableau puisque tu avais
pris la précaution préalable de copier cet entete sur une autre feuille.

A+


Bonjour,

je cherche à supprimer de mon tableau EXCEL toutes les lignes dont une
cellule contient le mot "Total".

Merci d'avance pour vos réponses
--
Sofien


Avatar
jps
bonjour sofien
ceci peut-être à adapter :

Sub test()
Dim c As Range
ActiveSheet.Range("A1:D9").Select
For Each c In Selection
If c.Value = "total" Then Rows.EntireRow.Delete
Next c

End Sub

"Sofien Djelassi" a écrit dans le message de
news:
Bonjour,

je cherche à supprimer de mon tableau EXCEL toutes les lignes dont une
cellule contient le mot "Total".

Merci d'avance pour vos réponses
--
Sofien


Avatar
Sofien Djelassi
Merci ça a l'air pas mal, je vais essayer.


bonjour,

La méthode ci-dessous ne fait pas appel à VBA car pour ta demande ce n'est
pas absolument necessaire.

je vais supposer que ce que tu demandes c'est la suppression de lignes pour
lesquelles dans une colonne donnée (mettons ici la colonne A) il existe des
cellules contenant le mot Total.Je suppose bien sur que ton tableau fait
cependant plusieurs colonnes .Je suppose aussi que ta feuille ne contient que
ton tableau car sinon des infos sur d'autres cellules risqueraient d'être
effacées.
Si il faut que la recherche ait lieu sur plusieurs colonnes à la fois,
utiliser un filtre élaboré avec le même principe d'élimination que ce qui va
suivre sera sans doute la solution.

En 1er lieu, tu prends la précaution de copier la ligne des entetes de ton
tableau sur une autre feuille.
Ensuite, on utilise un filtre automatique sur le tableau considéré. Dans le
filtre de la colonne A, tu chosis "Personnalisé" et tu choisis dans la boite
de dialogue l'option "contient" et tu tapes dans la boite de critères le
texte *Total*. Une fois obtenus les enregistrements en question, tu fais
Edition/Atteindre/Cellules/Cellules visibles seulement.
Puis tu fais Edition/Supprimer la ligne.
Ton tableau se verra supprimé de toutes les lignes filtrées y compris
l'entete qu'il te faudra réinsérer en début de ton tableau puisque tu avais
pris la précaution préalable de copier cet entete sur une autre feuille.

A+


Bonjour,

je cherche à supprimer de mon tableau EXCEL toutes les lignes dont une
cellule contient le mot "Total".

Merci d'avance pour vos réponses
--
Sofien




Avatar
Sofien Djelassi
Je sens que c'est presque ce qu'il me faut. Le seul truc qui gène c'est que
mes cellules ne contiennent pas exactement le mot "total" mais plutot "total
xxx" et donc ça ne marche pas :(



bonjour sofien
ceci peut-être à adapter :

Sub test()
Dim c As Range
ActiveSheet.Range("A1:D9").Select
For Each c In Selection
If c.Value = "total" Then Rows.EntireRow.Delete
Next c

End Sub

"Sofien Djelassi" a écrit dans le message de
news:
Bonjour,

je cherche à supprimer de mon tableau EXCEL toutes les lignes dont une
cellule contient le mot "Total".

Merci d'avance pour vos réponses
--
Sofien






Avatar
ChrisV
Bonjour Sofien,

Avec la plage de données nommée ici Zn

Sub zaza()
Dim i As Long
Application.ScreenUpdating = False
For i = [Zn].SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If Application.CountIf(Rows(i), "*total*") Then _
Rows(i).Delete
Next i
End Sub


ChrisV


"Sofien Djelassi" a écrit dans le message de news:

Je sens que c'est presque ce qu'il me faut. Le seul truc qui gène c'est
que
mes cellules ne contiennent pas exactement le mot "total" mais plutot
"total
xxx" et donc ça ne marche pas :(



bonjour sofien
ceci peut-être à adapter :

Sub test()
Dim c As Range
ActiveSheet.Range("A1:D9").Select
For Each c In Selection
If c.Value = "total" Then Rows.EntireRow.Delete
Next c

End Sub

"Sofien Djelassi" a écrit dans le message de
news:
Bonjour,

je cherche à supprimer de mon tableau EXCEL toutes les lignes dont une
cellule contient le mot "Total".

Merci d'avance pour vos réponses
--
Sofien








Avatar
jps
merci chris pour avoir pris la relève...
avec mon exemple, j'ai tenté un If c.Value = "*total*" Then.....
j'ai benoîtement pensé que ça allait marcher mais que nenni....can you tell
me why, my dear lakota?
jps

"ChrisV" a écrit dans le message de
news:
Bonjour Sofien,

Avec la plage de données nommée ici Zn

Sub zaza()
Dim i As Long
Application.ScreenUpdating = False
For i = [Zn].SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If Application.CountIf(Rows(i), "*total*") Then _
Rows(i).Delete
Next i
End Sub


ChrisV


"Sofien Djelassi" a écrit dans le message de news:

Je sens que c'est presque ce qu'il me faut. Le seul truc qui gène c'est
que
mes cellules ne contiennent pas exactement le mot "total" mais plutot
"total
xxx" et donc ça ne marche pas :(



bonjour sofien
ceci peut-être à adapter :

Sub test()
Dim c As Range
ActiveSheet.Range("A1:D9").Select
For Each c In Selection
If c.Value = "total" Then Rows.EntireRow.Delete
Next c

End Sub

"Sofien Djelassi" a écrit dans le message de
news:
Bonjour,

je cherche à supprimer de mon tableau EXCEL toutes les lignes dont
une




cellule contient le mot "Total".

Merci d'avance pour vos réponses
--
Sofien












Avatar
ChrisV
Salut JP,

L'opérateur "=" évalue d'une manière "stricte" le contenu de chaque
comparaison de chaînes...
Ainsi MsgBox "Samedi" = "samedi" renverra Faux
de la même manière que, "Samedi" = "SAMEDI"
etc...
Le joker "*" n'est ici, pas considéré comme remplaçant de n'importe quelle
chaîne de caractères, mais bien comme caractère faisant parti de la chaîne à
comparer...
(l'utilisation du joker ? produirait d'ailleurs le même effet...)
Tu aurais pu cependant utiliser l'opérateur Like qui lui, permet
l'utilisation des jokers (* ; ? ; # ; [Z-A] par ex.) dans la comparaison de
chaînes...
If c.Value Like "*total*" Then.....

Voili, voilou... my dear old friend,
;-)


ChrisV


"jps" a écrit dans le message de news:

merci chris pour avoir pris la relève...
avec mon exemple, j'ai tenté un If c.Value = "*total*" Then.....
j'ai benoîtement pensé que ça allait marcher mais que nenni....can you
tell
me why, my dear lakota?
jps

"ChrisV" a écrit dans le message de
news:
Bonjour Sofien,

Avec la plage de données nommée ici Zn

Sub zaza()
Dim i As Long
Application.ScreenUpdating = False
For i = [Zn].SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If Application.CountIf(Rows(i), "*total*") Then _
Rows(i).Delete
Next i
End Sub


ChrisV


"Sofien Djelassi" a écrit dans le message de news:

Je sens que c'est presque ce qu'il me faut. Le seul truc qui gène c'est
que
mes cellules ne contiennent pas exactement le mot "total" mais plutot
"total
xxx" et donc ça ne marche pas :(



bonjour sofien
ceci peut-être à adapter :

Sub test()
Dim c As Range
ActiveSheet.Range("A1:D9").Select
For Each c In Selection
If c.Value = "total" Then Rows.EntireRow.Delete
Next c

End Sub

"Sofien Djelassi" a écrit dans le message de
news:
Bonjour,

je cherche à supprimer de mon tableau EXCEL toutes les lignes dont
une




cellule contient le mot "Total".

Merci d'avance pour vos réponses
--
Sofien















Avatar
Pierre CFI [mvp]
et tu es tombé sur le poisson d'avril de jps :o)
car bien sur, il connaissait la réponse

--
Pierre CFI
MVP Microsoft Access
Avatar
AV
L'opérateur "=" évalue d'une manière "stricte" le contenu de chaque
comparaison de chaînes...


Quoique.....

Option Compare Text
Sub zzz()
MsgBox "Samedi" = "samedi"
End Sub

;-)
AV

Avatar
ChrisV
Tout à fait exact Alain...!
mais là, tu utilises une instruction supplémentaire...
;-)


ChrisV


"AV" a écrit dans le message de news:

L'opérateur "=" évalue d'une manière "stricte" le contenu de chaque
comparaison de chaînes...


Quoique.....

Option Compare Text
Sub zzz()
MsgBox "Samedi" = "samedi"
End Sub

;-)
AV





1 2