Excel : supprimer des lignes/colonnes

Fermé
Jamdude Messages postés 3 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 23 mai 2008 - 23 mai 2008 à 13:58
chtilou Messages postés 1664 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 30 avril 2012 - 25 mai 2008 à 21:02
Bonjour,

Je vous explique ce que je souhaite faire :
Je voudrais que quand la cellule G1 prends une certaine valeur (disons 2 par exemple : c'est ici un nombre d'étage), le groupement de lignes correspondant aux étages 4, 5 etc... soit supprimé. Pour cela j'ai appelé le groupement de lignes "Etage2" (ligne 10 à 14) "Etage3" (lignes 15 à 19) etc.. et je pensais créer une macro qui supprime automatiquement ces lignes suivant la valeur de G1.
Et c'est à ce point que j'ai besoin d'aide ;-)

Ma première question est déjà : est-ce qu'il y a forcément besoin d'une macro pour faire ce que je souhaite faire??
Et si oui, avez-vous des idées??

Merci d'avance pour vos interventions et n'hésitez pas à poser des questions si je n'ai pas été clair sur certains points.
A voir également:

2 réponses

chtilou Messages postés 1664 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 30 avril 2012 522
25 mai 2008 à 21:02
Bonsoir,
je me suis servi de ton problème comme exercice pratique sur VBA. ;-)
Je te propose ceci:

Sub SupprimerSi()
'
'soyez indulgent je débute en VBA
'Chtilou
'
'supprime les étages supérieurs à G1

a = Range("G1")
If a = 1 Then
'supprime les étages 2,3 et 4
Rows("10:24").Select
Selection.Delete Shift:=xlUp

End If

If a = 2 Then
'supprime les étages 3 et 4
Rows("15:24").Select
Selection.Delete Shift:=xlUp

End If

If a = 3 Then
'supprime le 4éme étage
Rows("20:24").Select
Selection.Delete Shift:=xlUp

End If

End Sub

Il doit certainement exister plus simple.

A votre écoute.
1
ça dépend de ce que tu appelle supprimer.
pour supprimer vraiment, je ne vois qu'une macro, oui.

Si tu veux juste vider l'étage, tu peux les remplir avec des tests
=si(G1 = 2 ; "" ; ...)
où ... contient la valeur (ou la formule) de la case quand tu ne veux pas supprimer. Dans ce cas, pas besoin de macro.
0