VBA: Sélection d'une plage de cellules d'une feuille pour remplissage couleur [Résolu]

SamGuelis - 31 déc. 2012 à 14:36 - Dernière réponse :  SamGuelis
- 6 avril 2013 à 23:52
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
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 31 déc. 2012 à 15:01
3
Merci
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.

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de ucfoutu
Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 31 déc. 2012 à 18:02
3
Merci
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.

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de ucfoutu
0
Merci
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
Commenter la réponse de SamGuelis
0
Merci
Bonsoir
Désolé. J'ai pris en compte les indications sans dire qu'elles avait été acceptées.

SamGuelis
Commenter la réponse de SamGuelis

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.