Problème de macro

Résolu
viret1290 Messages postés 146 Statut Membre -  
viret1290 Messages postés 146 Statut Membre -
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

8 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Que voulez vous faire avec ce "code", je vois bien qu'il y de la couleur, mais ..?
    0
  2. viret1290 Messages postés 146 Statut Membre 2
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Worksheets(LbPage.Caption).Range("K" & LbLigne.Caption).Resize(, LbColonne.Caption - 10).Interior.Color = RGB(255, 255, 0)
      0
  3. viret1290 Messages postés 146 Statut Membre 2
     
    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
  4. viret1290 Messages postés 146 Statut Membre 2
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. viret1290 Messages postés 146 Statut Membre 2
     
    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
  7. viret1290 Messages postés 146 Statut Membre 2
     
    j'ai oublié oui j'utilise votre exemple
    0
  8. viret1290 Messages postés 146 Statut Membre 2
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  9. viret1290 Messages postés 146 Statut Membre 2
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Oui, l'essentiel c'est que cela vous convienne
      0
      1. viret1290 Messages postés 146 Statut Membre 2 > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
         
        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