Bordure de cellule VBA

Résolu
RaihanaTag Messages postés 18 Statut Membre -  
RaihanaTag Messages postés 18 Statut Membre -
Bonjour,
J'essaie de tracer un tableau avec VBA , voici mon code :
 
Sub demandes() ' Contruction du tableau des demandes feuille 2
Worksheets(2).Cells(14 + nb, 2) = "Demandes:"
Worksheets(2).Cells(15 + nb, 3) = "Di"
Worksheets(2).Range("C" & 15 + nb).Interior.ColorIndex = 40
Worksheets(2).Range("D" & 15 + nb).Interior.ColorIndex = 15

Dim cellule As Range ' Construire les bordures
For Each cellule In Worksheets(2).Range(Cells(15 + nb, 3), Cells(15 + nb, 4 + nb))
    cellule.Borders.Weight = xlThin
    cellule.HorizontalAlignment = xlCenter
Next
End Sub

Avec nb la taille du tableau
Lors de l'execution ça génére erreur 1004 au niveau du " For each cellule"
J ai pas su y remedier j ai besoin de votre aide
Merci d'avance

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Il te faut préciser la feuille dans laquelle sont définies les cellules
    For Each cellule In Worksheets(2).Range(Worksheets(2).Cells(15 + nb, 3), Worksheets(2).Cells(15 + nb, 4 + nb)) 

    ou mieux
    Sub demandes() ' Contruction du tableau des demandes feuille 2
    Dim cellule As Range ' Construire les bordures
    With Worksheets(2)
    .Cells(14 + nb, 2) = "Demandes:"
    .Cells(15 + nb, 3) = "Di"
    .Range("C" & 15 + nb).Interior.ColorIndex = 40
    .Range("D" & 15 + nb).Interior.ColorIndex = 15
    For Each cellule In .Range(.Cells(15 + nb, 3), .Cells(15 + nb, 4 + nb))
    cellule.Borders.Weight = xlThin
    cellule.HorizontalAlignment = xlCenter
    Next cellule
    End With
    End Sub

    RQ. La vaiable nb n'est pas affectée dans cette procédure ?

    Cdlmnt
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour CCM, ca va ?

      Tu peux peut-^tre éviter de boucler pour encadrer les cellules de la zone
      With .Range(.Cells(15 + nb, 3), .Cells(15 + nb, 4 + nb))
      .borders.weight=xlthin
      .HorizontalAlignment = xlCenter
      end with


      a toi de voir ;o)
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Salut Michel,

    Exact, et avec le temps gagné, on pourra aller boire l'apéro ;-)
    A part ça tout va bien !

    Bonne journée
    0
  3. RaihanaTag Messages postés 18 Statut Membre
     
    Bonjour et merci pour votre aide
    J ai découvert la connerie que je faisais tout le temps, en faite je ne peux pas lancer cette procédure sans que la feuille en question soit activée ( même avec le worksheets(2). )
    Donc j ai ajouté cette instruction au début
    Worksheets(2).activate et ça marche à merveille :)
    0