Bonjour
je souhaite appliquer un remplissage de couleur dans des cellules qui contiennet les noms de divers champs sur une ligne. Pour la feuille nommée ws je fais l'action suivante pour sélectionner les cellules concernées:
With ws
.Range(.Cells(1, 1), .Cells(1, Columns.Count).End(xlToLeft).Column).Select
...
End With
Quand j'exécute l'instruction ci-dessus, je sors en erreur:
"l'erreur #1004 a été généré par VBAproject, la méthode Range de l'objet WorkSheet a échoué"
j'ai l'impression d'avoir fait la même chose ailleurs sans générer d'erreur. Quelqu'un peut-il m'aider à comprendre mon erreur? Ce doit être gros comme une nez au milieu du visage. Merci
SamGuelis
A voir également:
VBA: Sélection d'une plage de cellules d'une feuille pour remplissage couleur
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 31 déc. 2012 à 15:01
Bonjour,
1) Qu'est ta variable ws ? (où et comment a-t-elle été déclarée et définie ?
2) qu'est selon toi End(xlToLeft).Column).Select 2) a quoi sert le select alors que tu cherches un N° de colonne ?
Regarde (exemple) :
With Worksheets("feuil2")
toto = .Range(.Cells(1, 1), .Cells(1, Columns.Count).End(xlToLeft)).Column
MsgBox toto
End With
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 31 déc. 2012 à 18:02
Et où est donc ton problème :
Ceci (exemple), colorera en rouge toutes les cellules de la ligne 1 jusqu'à la dernière colonne remplie de la feuille Feuil2 !
With Worksheets("feuil2")
Dim toto As Long
toto = .Cells(1, Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, 1), .Cells(1, toto)).Interior.ColorIndex = 3
End With
Je ne sélectionne rien (inutile) comme tu le vois !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
1- La variable ws est de type WorkSheet
2- mon objectif était de selectionner dans la ligne 1, les cellules 1 à la dernière de la ligne contenant une donnée. Pour moi End(xlToLeft).column devait justement me donner le numéro de la dernière colonne de la ligne, ayant une donnée.Dans mon cas il y a 16 cellules de la ligne 1 qui contiennent les noms de champs des colonnes. Donc faire une sélection des cellules 1 à 16 de la ligne pour changer la couleur de fond.
Merci
SamGuelis