Effacement plage Feuil1 dans une macro

  • Initiateur de la discussion Initiateur de la discussion Guy55
  • 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 !

Guy55

XLDnaute Junior
Bonjour a tout le Forum
Les premieres lignes de ma macro devrait faire ceci :
1) Effacer sur la Feuil1 les colonnes F,G,H a partir de la ligne 3 jusque la derniere ligne trouvée.
2) Repasser sur la Feuil2 pour effectuer les calculs.

J'essaie avec ceci mais je ne vois pas l'effacement en Feuil1.


Apres mes déclarations, voici les premieres de ma macro

Application.ScreenUpdating = False
With Worksheets ("Feuil1")
.Range("F3:H & .Range("F6500").End(xlUp).Row + 1.ClearContents
End With

Y a t-il plus simple comme instruction ?
Que se passe-t-il si Application.Screedating = True ?
Encore merci a tout le monde
Guy
 
Re : Effacement plage Feuil1 dans une macro

Bonsoir,

il y surtout une erreur de syntaxe dans le code.
Essaye plutôt ceci:

Code:
With Worksheets("Feuil1")
.Range("F3:H[COLOR=Red][B]"[/B][/COLOR] & .Range("F6500").End(xlUp).Row + 1[B][COLOR=Red])[/COLOR][/B].ClearContents
End With
Edit: "ScreenUpdating" correspond au rafraichissement de l'écran.
 
Re : Effacement plage Feuil1 dans une macro

Bonsoir,

Une façon de faire :

Code:
Sub test()
'Création de l'objet collection
Dim coll As Collection
Set coll = New Collection
ApplicationScreenUpdating = True
'Compteur a partir de N4 vers la fin
For n = 4 To Sheets("Feuil2").Range("N65536").End(xlUp).Row
On Error Resume Next
'Conversion les nombres de la colonne N Feuille 2 en chaine de caracteres
'Rempli la table Collection avec la conversion
  coll.Add Sheets("Feuil2").Range("N" & n), CStr(Sheets("Feuil2").Range("N" & n))
On Error GoTo 0
Next n
With Worksheets("Feuil1")
.Range("F3:H" & coll.Count + 2).ClearContents
End With
'Parcourir la table Collection a partir de 1 et comparer a la colonne critere a partir de 4
For n = 1 To coll.Count
 
.../...

Si je comprends bien la colonne H recoit les éléments de la collection, donc il faut se baser sur celle ci pour effacer la plage de données.

A+
 
Re : Effacement plage Feuil1 dans une macro

kijn et Skoobi, ,
Ca fonctionne avec ("H3 : F3").
et Application.ScreenUpdating = True.
Je vois mon tableau se rafraichir , pis aucune valeur ne se trouvant dans l'ancien tableau ne reste affichée.
Merci encore !!!!!!
Guy
 
Re : Effacement plage Feuil1 dans une macro

Bonjour,

Si je peux me permettre 🙂 si c'est pour effacer tout le contenu sous la ligne 3, des colonnes F, G et H, il n'est pas besoin de demander à VB de rechercher la dernière cellule occupée
Code:
Sheets(1).Range("F3:H65535").ClearContents
devrait amplement suffir 😉
 
Re : Effacement plage Feuil1 dans une macro

Bonsoir et merci bqtr,
With Worksheets("Feuil1")
.Range("F3:H" & coll.Count + 2).ClearContents
End With
Cette solution efface bien les valeurs mais si je supprime un critere, la derniere ligne du tableau ne se rafraichi pas.

Bonsoir ftho,
Sheets(1).Range("F3:H65535").ClearContents
est simple et fonctionne super bien si j'ai plus rien en dessous de mon tableau.

Bonsoir kjin et Skoobi,
With Worksheets ("Feuil1")
.Range("F3:H3" & .Range("F6500").End(xlUp).Row + 1).ClearContents
End With
en Ajoutant 3 a H , plus de probleme, ca fonctionne

Merci pour votre aide, espérant en faire profiter a tout le monde
Guy
 
Re : Effacement plage Feuil1 dans une macro

Sheets(1).Range("F3:H65535").ClearContents
est simple et fonctionne super bien si j'ai plus rien en dessous de mon tableau.
Bin oui...tu demandais bien depuis la ligne 3 jusqu'à la dernière ligne trouvée ? Donc plus rien en dessous vu que c'est la dernière ligne...!

With Worksheets ("Feuil1")
.Range("F3:H3" & .Range("F6500").End(xlUp).Row + 1).ClearContents
End With
en Ajoutant 3 a H , plus de probleme, ca fonctionne
Juste pour que tu comprennes le fonctionnement : en supposant que ta dernière ligne soit la ligne 173, ta syntaxe va effacer de la cellule F3 à la cellule H3 & 173 + 1 = H3174

La première proposition de skoobi était parfaitement correcte

Bonne nuit 😉
 
Dernière édition:
Re : Effacement plage Feuil1 dans une macro

Re,

Comme il y aura toujours la cellule H2 de non vide (Critère) le code de Skoobi convient très bien avec une petite modif :

Code:
With Worksheets("Feuil1")
.Range("F3:H" & .Range("[COLOR=blue]H[/COLOR]65536").End(xlUp).Row + 1).ClearContents
End With

A+
 
- 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

Discussions similaires

Réponses
9
Affichages
366
Retour