Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

ClearContents ne fonctionne pas

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

jim7963

XLDnaute Junior
Bonjour à tous,

je fais de nouveau appelle à vous car j'ai un bout de code qui commence à me faire criser.
J'ai écris:

Code:
Dim DerColonne As Long
    DerColonne = Rows(12).Find("*", , , , xlByColumns, xlPrevious).Column
    
I = 2
    For I = 2 To 13
    For M = (DerColonne - 2) To 6 Step -5
            Sheets(I).Range(M & "12:" & M & "18").ClearContents
            Sheets(I).Range(M & "20:" & M & "26").ClearContents
            Sheets(I).Range(M & "28:" & M & "34").ClearContents
            Sheets(I).Range(M & "36:" & M & "42").ClearContents
            Sheets(I).Range(M & "44:" & M & "50").ClearContents
            Sheets(I).Range(M & "52:" & M & "58").ClearContents
    Next
    Next

Le problème c'est que lorsque je lance ma macro il n'y a aucun message d'erreur, sauf que les cellules ne se vident pas. J'ai fais plusieurs essais mais je n'arrive pas à comprendre où se situe le problème.

Quelqu'un aurait-il une idée pour m'aider?

Merci par avance pour votre aide.
 
Re : ClearContents ne fonctionne pas

Bonjour Pierrejean,

non, dans le cas de mon tableau actuel la DerColonne à pour valeur 23 (colonne W). Donc 23-2 = 21, ce que m'a confirmé le msgbox que tu m'as dis d'insérer.
 
Re : ClearContents ne fonctionne pas

Bonjour

je suppose que le but de cette macro est d'effacer des plages
dans la lecture de votre code vous remplacez M par un entier dans ce cas ça ne peut pas fonctionner
M represente la colonne ! ! !
 
Re : ClearContents ne fonctionne pas

Bonjour Gilbert,

effectivement vous avez raison.
Je n'avais pas pensé à la variable qui était un entier. Mais même en remplaçant par une variante ça ne fonctionne toujours pas.

Comme je débute, je ne serais pas contre un conseil pour savoir comment je dois corriger ce code pour qu'il fonctionne.
 
Re : ClearContents ne fonctionne pas

Re

Salut Gilbert_RGI
Remplacer

Sheets(I).Range(M & "12:" & M & "18").ClearContents

Par

Sheets(I).Range(Cells(12,M).Address & ":" & Cells(18,M).Address).clearcontents
 
Re : ClearContents ne fonctionne pas

Excellent, c'est exactement ce que je cherchais, merci beaucoup Pierrejean.

Merci également Gilbert, cette remarque m'a mis sur la piste pour utiliser la syntaxe avec les Cells. J'ai commencé à tester avant de voir le message de Pierrejean, mais ma macro buggait et s'arrêtait à la première feuille. Il me manquait effectivement le .Address.

Juste une petite question pour m'aider à progresser, à quoi sert exactement le: .Address ?
 
Re : ClearContents ne fonctionne pas

Re

un petit tuyau:
Dans Visual Basic editor
cliquer sur Address et appuyer sur F1
Le debut:
[TABLE="width: 100%"]
[TR]
[TD="align: left"]Range.Address, propriété[/TD]
[/TR]
[/TABLE]

Cette propriété renvoie une valeur de type String qui représente la référence de la plage dans le langage de la macro.
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
3
Affichages
922
Réponses
2
Affichages
504
Réponses
18
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…