Petite macro pour supprimer cellules vides

  • Initiateur de la discussion Initiateur de la discussion flavian
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

flavian

Guest
Bonjour a tout le forum,


J’ai un probleme que je n’arrive pas a resoudre sur Excel 2000, j‘aimerai faire une macro qui permettrai de supprimer les cellules vides dans les colonne C et D et la seulement la premiere cellule vides apres une cellule non vide dans la colonne B.

Je pense qu’ avce un exemple on comprend mieux, les cellules en jaune sont celle que je voudrai effacer en sachant que le fichier peut contenir des milliers de lignes..

Merci beaucoup de votre aide.

P.S: Je tyrouve l'idee de ce forum geniale [file name=Macroessai.zip size=3760]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Macroessai.zip[/file]
 

Pièces jointes

Bonsoir Flavian, bonsoir le forum,

Flavian, essaie avec la macro commentée ci-dessous et dis-moi si ça te convient.


Option Explicit 'oblige à déclarer toutes les variables

Sub Macro1()
Dim Dl(2) As Integer 'déclare le tableau de trois variables Dl (Dernière lignes Dl(0), Dl(1) et Dl(2))
Dim x As Byte, y As Integer 'déclare les variables x et y

For x = 0 To 2 'boucle sur 3 items (tois colonnes B, C et D )
'définit la dernière ligne éditée de chaque colonne (et considère celle immédiatement en dessous)
Dl(x) = Cells(65536, x + 2).End(xlUp).Row + 1 'c'est (x+2) qui détermine la colonne

For y = Dl(x) To 2 Step -1 'boucle sur la plages éditée +1 de la colonne (en partant de la fin)

If x = 0 Then 'condition 1 : si x=0 (cas différent pour la colonne B )
'condition 2 : Si la cellule est vide et celle du dessus n'est pas vide
If Cells(y, x + 2).Value = '' And Cells(y - 1, x + 2).Value <> '' Then
Cells(y, x + 2).Delete Shift:=xlUp 'efface la cellule
End If 'fin condition 2
Else 'sinon (colonnes C et D)
'condition 3 : si la cellule est vide elle est supprimée (fin condition 3)
If Cells(y, x + 2).Value = '' Then Cells(y, x + 2).Delete Shift:=xlUp
End If 'fin condition 1

Next y 'prochain cellule de la colonne

Next x 'prochaine colonne
End Sub

Édition

Je joins aussi ton fichier modifié. [file name=Macroessai2.zip size=9662]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Macroessai2.zip[/file]

Message édité par: Robert, à: 09/07/2005 10:37
 

Pièces jointes

Merci vraiment beaucoup Robert pour ta precieuse aide.
Je ne veux pas abuser mais mon niveau en macro est tres leger, et comment dois je faire si je veux supprimer aussi la cellule de la colonne a droite. En fait dans ce fichier je supprime C2 D2 et B3 et je souhaite aussi supprimer A3 et ainsi de suite.


Dans tous les cas merci beaucoup de votre aide precieuse.

Flavian
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
Réponses
18
Affichages
2 K
J
Réponses
2
Affichages
1 K
Justine B
J
M
Réponses
8
Affichages
1 K
Kevin B
K
M
Réponses
2
Affichages
3 K
maurissetho
M
C
Réponses
6
Affichages
2 K
christophedb
C
Retour