Formule VBA à adapter

Le
Pierre F.
Bonjour ou bonsoir à toutes et tous;

J'ai la formule
Range("c3:c100").SpecialCells(xlCellTypeBlanks).EntireRow.ClearContents

qui me permet d'effacer les lignes si les cellule de la colonne c sont
vides.

Je souhaiterais, plutôt que des lignes entières, effacer une plage
seulement; pour être précis, la plage A:K.

Est-ce possible ?
Si oui, comment ?

Merci pour votre aide.

Cordialement,
Pierre F.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #17603841
Bonjour.
Intersect([A:K],
Range("c3:c100").SpecialCells(xlCellTypeBlanks).EntireRow).ClearContents
Daniel

Pierre F. a écrit :
Bonjour ou bonsoir à toutes et tous;

J'ai la formule
Range("c3:c100").SpecialCells(xlCellTypeBlanks).EntireRow.ClearContents

qui me permet d'effacer les lignes si les cellule de la colonne c sont
vides.

Je souhaiterais, plutôt que des lignes entières, effacer une plage
seulement; pour être précis, la plage A:K.

Est-ce possible ?
Si oui, comment ?

Merci pour votre aide.

Cordialement,
Pierre F.


garnote
Le #17603831
Salut Pierre,

Une suggestion :

Sub Efface()
For Each c In [c3:c100]
If IsEmpty(c) Then
L = c.Row
Range(Cells(L, 1), Cells(L, 2)).ClearContents
Range(Cells(L, 4), Cells(L, 11)).ClearContents
End If
Next c
End Sub

Est-ce le résultat que tu attends ?


Serge




"Pierre F."
Bonjour ou bonsoir à toutes et tous;

J'ai la formule
Range("c3:c100").SpecialCells(xlCellTypeBlanks).EntireRow.ClearContents

qui me permet d'effacer les lignes si les cellule de la colonne c sont vides.

Je souhaiterais, plutôt que des lignes entières, effacer une plage seulement; pour être précis, la plage A:K.

Est-ce possible ?
Si oui, comment ?

Merci pour votre aide.

Cordialement,
Pierre F.


JPMonnier
Le #17603821
Bonsoir,
Essaie cette proc
Sub Clear()
For Each N In [c3:c300]
If IsEmpty(N) Then
Range(N.Offset(0, -2), N.Offset(0, 8)).ClearContents
End If
Next
End Sub
--
Cordialement

"Pierre F." news:34b46$48fe18ca$55da2eb8$
Bonjour ou bonsoir à toutes et tous;

J'ai la formule
Range("c3:c100").SpecialCells(xlCellTypeBlanks).EntireRow.ClearContents

qui me permet d'effacer les lignes si les cellule de la colonne c sont
vides.

Je souhaiterais, plutôt que des lignes entières, effacer une plage
seulement; pour être précis, la plage A:K.

Est-ce possible ?
Si oui, comment ?

Merci pour votre aide.

Cordialement,
Pierre F.


Pierre F.
Le #17603981
garnote a écrit :

Sub Efface()
For Each c In [c3:c100]
If IsEmpty(c) Then
L = c.Row
Range(Cells(L, 1), Cells(L, 2)).ClearContents
Range(Cells(L, 4), Cells(L, 11)).ClearContents
End If
Next c
End Sub

Est-ce le résultat que tu attends ?




Parfaitement; ça roule comme ça.
Merci!

Cordialement,
Pierre F.
Pierre F.
Le #17603971
Daniel.C a écrit :
Bonjour.
Intersect([A:K],
Range("c3:c100").SpecialCells(xlCellTypeBlanks).EntireRow).ClearContents
Daniel



Super, cette solution fonctionne très bien.
Merci !

J'avais un problème et maintenant j'ai deux solutions :-)

Cordialement,
Pierre F.
garnote
Le #17604131
Quelle élégance ;-)
Moi et mes crisses de boucles ;-(


Serge

"Daniel.C"
Bonjour.
Intersect([A:K], Range("c3:c100").SpecialCells(xlCellTypeBlanks).EntireRow).ClearContents
Daniel

Pierre F. a écrit :
Bonjour ou bonsoir à toutes et tous;

J'ai la formule
Range("c3:c100").SpecialCells(xlCellTypeBlanks).EntireRow.ClearContents

qui me permet d'effacer les lignes si les cellule de la colonne c sont vides.

Je souhaiterais, plutôt que des lignes entières, effacer une plage seulement; pour être précis, la plage A:K.

Est-ce possible ?
Si oui, comment ?

Merci pour votre aide.

Cordialement,
Pierre F.




Pierre F.
Le #17604121
JPMonnier a écrit :

Essaie cette proc
Sub Clear()
For Each N In [c3:c300]
If IsEmpty(N) Then
Range(N.Offset(0, -2), N.Offset(0, 8)).ClearContents
End If
Next
End Sub



Génial! Ça fonctionne très bien. Merci!

J'avais un problème et maintenant j'ai trois solutions :-)

Cordialement,
Pierre F.
LSteph
Le #17604111
Bonjour,

Dim r As Long
For r = 3 To 100
If IsEmpty(Cells(r, 3)) Then Intersect(Rows(r), [a:k]).ClearContents
Next

'lSteph

Pierre F. a écrit :
Bonjour ou bonsoir à toutes et tous;

J'ai la formule
Range("c3:c100").SpecialCells(xlCellTypeBlanks).EntireRow.ClearContents

qui me permet d'effacer les lignes si les cellule de la colonne c sont
vides.

Je souhaiterais, plutôt que des lignes entières, effacer une plage
seulement; pour être précis, la plage A:K.

Est-ce possible ?
Si oui, comment ?

Merci pour votre aide.

Cordialement,
Pierre F.


Pierre F.
Le #17605781
LSteph a écrit :

Dim r As Long
For r = 3 To 100
If IsEmpty(Cells(r, 3)) Then Intersect(Rows(r), [a:k]).ClearContents
Next



Merci à toi aussi.
J'ai à peine le temps de tester et d'avancer dans mon projet que les
réponses fusent encore et encore :-)

Quel feu d'artifices!

Cordialement,
Pierre F.
Publicité
Poster une réponse
Anonyme