Problème de macro

Résolu/Fermé
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 - 8 avril 2016 à 18:58
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 - 11 avril 2016 à 09:41
Bonjour,
j'ai écris un bout de code, mais il y a une erreur, si quelqu'un peut m'aider merci.
c'est depuis un bouton qui se trouve dans un UserForm

'LbPage est définit ailleurs = un nom de page
'LbLigne est définit ailleurs =N° de ligne
'LbColonne est définit ailleurs = N° de colonne
'LbAdd est définit ailleurs = une cellule

Worksheets(LbPage.Caption).Range(Worksheets(LbPage.Caption).Cells(LbLigne.Caption, 11))(Worksheets(LbPage.Caption).Cells(LbLigne.Caption), Worksheets(LbPage.Caption).Cells(LbColonne.Caption)).Interior.Color = RGB(255, 255, 0)

merci d'avance



A voir également:

8 réponses

f894009 Messages postés 17239 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 10 février 2025 1 713
8 avril 2016 à 19:19
Bonjour,

Que voulez vous faire avec ce "code", je vois bien qu'il y de la couleur, mais ..?
0
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 2
8 avril 2016 à 19:25
La cellule ou je clique dessus ouvre un UserForm de la je clique sur un bouton
La cellule ou j'ai cliqué est reconnu comme LbLigne donne son N° de ligne et LbColonne donne son N° de colonne.
et j'aimerai que depuis le LBLigne et la colonne K jusqu'à la LbLigne,LbColonne(cellule ou j'ai cliqué pour ouvrir le UserForm) cette ligne ce mette en couleur
0
f894009 Messages postés 17239 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 10 février 2025 1 713
8 avril 2016 à 19:35
Re,

Worksheets(LbPage.Caption).Range("K" & LbLigne.Caption).Resize(, LbColonne.Caption - 10).Interior.Color = RGB(255, 255, 0)
0
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 2
8 avril 2016 à 20:15
Magnifique ça fonctionne encore une question.

'LbPage est définit ailleur = un nom de page
'LbLigne est définit ailleur =N° de ligne
'LbColonne est définit ailleur = N° de colonne
'LbAdd est définit ailleur = une cellule
'LbDernJour est définit ailleurs = derniere cellule a colorié (N°de la colonne) vu que la ligne est à la même que LbLigne

La cellule ou je clique dessus ouvre un UserForm de la je clique sur un bouton
La cellule ou j'ai cliqué est reconnu comme LbLigne donne son N° de ligne et LbColonne donne son N° de colonne.
et j'aimerai que depuis le LbLigne et le LbColonne jusqu'à la LbLigne,LbDernJour cette ligne ce mette en couleur
0
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 2
9 avril 2016 à 10:48
Ma ligne de code est la suivante, mais elle ne fonctionne pas:
Worksheets(LbPage.Caption).Range.Cells(LbLigne.Caption, LbColonne.Caption),Cells(LbLigne.Caption, LbDernJour.Caption).Interior.Color = RGB(255, 255, 0))

Les données sont celle en dessus

merci d'avance
0
f894009 Messages postés 17239 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 10 février 2025 1 713
Modifié par f894009 le 9/04/2016 à 11:08
Bonjour,

Juste une question, vous utilisez le code de l'exemple que je vous ai donne pour recuperer l'adresse de la cellule
 AdCel=Target.Address
???

Parce que vous compliquez la vie avec vos .caption des differents labels, vous decoder pour recoder une adresse !!!!!!!!!!!!!!!!!!!!!!

Neanmoins:
Worksheets(LbPage).Cells(LbLigne, LbColonne).Resize(, LbDernJour - LbColonne + 1).Interior.Color = RGB(255, 255, 0)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 2
9 avril 2016 à 13:11
Merci, mais le code que vous m'avez donné donc:
Worksheets(LbPage).Cells(LbLigne, LbColonne).Resize(, LbDernJour - LbColonne + 1).Interior.Color = RGB(255, 255, 0)

Il me met le message d'erreur suivant:
incompabilité de type
0
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 2
9 avril 2016 à 13:16
j'ai oublié oui j'utilise votre exemple
0
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 2
9 avril 2016 à 13:29
merci j'ai fais des modifs et ça marche.
voici le code

Worksheets(LbPage.Caption).Range(LbAdd.Caption).Resize(, LbDernJour.Caption - LbColonne.Caption + 1).Interior.Color = RGB(255, 255, 0)

Ou peut on trouver un libre traitant de ces genres de code, pour apprendre

Je veux encore vous dire un GRAND merci
0
f894009 Messages postés 17239 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 10 février 2025 1 713
9 avril 2016 à 14:55
Re,

En effet l'erreur est pour moi, car pour simplifier j'ai utilise des variables, pas de labels

Si vous utilisez "mon" code, vous avez deja l'adresse qui remplace LbAdd.Caption pour l'exemple precedent

Worksheets(LbPage.Caption).Range(AdCel).Resize(, LbDernJour.Caption - LbColonne.Caption + 1).Interior.Color = RGB(255, 255, 0) 

et

Worksheets(LbPage.Caption).Range("K" & LbLigne.Caption).Resize(, LbColonne.Caption - 10).Interior.Color = RGB(255, 255, 0)

devient:
Worksheets(LbPage.Caption).Range("K" & LbLigne.Caption & ":" & AdCel).Interior.Color = RGB(255, 255, 0)


Comment vous faites pour recuperer la ligne et la colonne de la cellules selectionnee ??
0
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 2
9 avril 2016 à 16:10
quand je fais mon double clic et ensuite je le met en caché dans mon UserForm
ColorUserForm.LbLigne.Caption = Target.Row
ColorUserForm.LbColonne.Caption = Target.Column
0
f894009 Messages postés 17239 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 10 février 2025 1 713
9 avril 2016 à 20:19
Re,
Oui, l'essentiel c'est que cela vous convienne
0
viret1290 Messages postés 141 Date d'inscription samedi 17 août 2013 Statut Membre Dernière intervention 28 juillet 2024 2 > f894009 Messages postés 17239 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 10 février 2025
11 avril 2016 à 09:41
Bonjour,
Excuser moi encore.

J'ai encore une demande.
Je fais par un UserForm les demandes suivante, quand je clique pour l'ouvrir il me met la ligne =LbLignAbs et le nom de l'onglet =LbPage1 et ensuite je demande 2 choses

et par la suite j'aimerai qu'il remplise les cellules depuis 1er jour(LbLignAbs,LbColAbsDeb) jusqu'au 2ème jour(LbLignAbs,LbColAbsFin)

je vous ai mon code, l'erreur est sur Worksheets(LbPage1.Caption).Range(LbLignAbs.Caption - LbColAbsDeb.Caption).Resize(, LbLignAbs.Caption - LbColAbsFin.Caption + 1).Interior.Color = RGB(255, 255, 0)


CODE
le 1er jour et un 2ème jour qui se trouve sur la même ligne
'1er jour pour la colonne
For i = 11 To 41
If TextBox1 = Cells(6, i).text Then
LbColAbsDeb = i
End If
Next

'2eme jour pour la colonne
For i = 11 To 41
If TextBox2 = Cells(6, i).text Then
LbColAbsFin = i
End If
Next


Worksheets(LbPage1.Caption).Range(LbLignAbs.Caption - LbColAbsDeb.Caption).Resize(, LbLignAbs.Caption - LbColAbsFin.Caption + 1).Interior.Color = RGB(255, 255, 0)

merci d'avance encore une fois
0