macro, syntaxe : effacer jusque la dernière cellule rensignée

ptite_linda

XLDnaute Junior
Bonjour,

Je voudrai effacer les cellules à partir de la cellule A1 jusque D1 en ligne et jusque la dernière cellule renseignée en colonne. Mais je n'est pas la syntaxe exacte:

Range("A65536 : D65536").End(xlUp).Row
Selection.ClearContents

Comment je dois l'écrire?
Merci pour votre aide.
 
Dernière édition:

ddp

XLDnaute Occasionnel
Re : macro, syntaxe : effacer jusque la dernière cellule rensignée

bonjour à tous

à essayer (pour les données en ligne)

Code:
Sub Macro1()
'
' Macro1 
' Macro enregistrée le 23/01/2008 par ...
'

'
    Range("A1:D1").Select
    Selection.ClearContents
    Range("A1").Select
End Sub
 

ddp

XLDnaute Occasionnel
Re : macro, syntaxe : effacer jusque la dernière cellule rensignée

en attendant mieux:
Code:
Sub Macro1()
'
' Macro1
' Macro enregistrée le 23/01/2008 par ...
'

'
   [COLOR="Red"] Range("A1:D6553").Select
    Selection.ClearContents[/COLOR]
For Each c In Range("a1:a" & Range("a65536").End(xlUp).Row)
        If c = 0 Then Rows(c.Row).Delete
    Next c
End Sub
 

porcinet82

XLDnaute Barbatruc
Re : macro, syntaxe : effacer jusque la dernière cellule rensignée

Salut,

Je ne suis pas sur d'avoir bien saisie. Dans un premier temps j'aurai dis quelque chose de ce genre :
Code:
Range("A1:D" & Range("D65536").End(xlUp).Row).ClearContents

@+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : macro, syntaxe : effacer jusque la dernière cellule rensignée

Bonjour Linda, DDP, bonjour le forum,

Tu n'as pas précisé quelle était la colonne qui recevait le plus d'information aussi la macro ci-dessous fait une petite boucle sur les colonne A, B, C et D pour définir la plus longue :

Code:
Sub Macro1()
Dim dl As Long 'déclare la variable dl
Dim max As Long 'déclare la variable max
Dim x As Byte 'déclare la variable x
For x = 1 To 4 'boucle sur les 4 colonnes
    dl = Cells(65536, x).End(xlUp).Row 'définit la variable dl
    If dl > max Then max = dl 'condition : si la dernière ligne est supérieure à max alors max devient dl
Next x 'prochaine colonne de la boucle
Range("A1:D" & max).ClearContents 'efface le contenu
End Sub

Édition :

Bonjour Romain on s'est croisé...
 
Dernière édition:

ptite_linda

XLDnaute Junior
Re : macro, syntaxe : effacer jusque la dernière cellule rensignée

Romain ça fonctionne pas il reste des cellules.
ddp, il faut définir la variable?

Robert ça fonctionne, mais quand je relance la macro 2 fois de suite elle me supprime les titres, en fait ma plage de cellules à effacer commence à la ligne 2. Pourquoi?
 

porcinet82

XLDnaute Barbatruc
Re : macro, syntaxe : effacer jusque la dernière cellule rensignée

re, salut Robert :),

Comme la solution de Robert est a mon avis la plus adaptée (lui dite pas, il va pas arreter de tout la resortir apres...), voici une version remanier :
Code:
Sub Macro1()
Dim dl As Long 'déclare la variable dl
Dim max As Long 'déclare la variable max
Dim x As Byte 'déclare la variable x
For x = 1 To 4 'boucle sur les 4 colonnes
    dl = Cells(65536, x).End(xlUp).Row 'définit la variable dl
    If dl > max Then max = dl 'condition : si la dernière ligne est supérieure à max alors max devient dl
Next x 'prochaine colonne de la boucle
If max >= 2 Then Range("A2:D" & max).ClearContents 'efface le contenu si max est supérieur ou egal a 2 (pour ne pas supprimer les titres)
End Sub

@+
 

Statistiques des forums

Discussions
312 510
Messages
2 089 147
Membres
104 050
dernier inscrit
Pepito93100