Appliquer une marco VB sur des champs non successifs

Résolu
T.yangui -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai besoin d'appliquer une marco VB sur des champs non successifs, mon marco initial est :

Range("B486").Select
ActiveCell.FormulaR1C1 = "bonjour"

End Sub

je veux rendre le macro de type variable qui consiste à écrire bonjour dans les cellules B486, B506, B539 et B600 en utilisant visual basic

alors je l'ai rendu comme ça :

Dim i As Integer
for i =486; 506; 539 ; 600
Range("B" & i).Select
ActiveCell.FormulaR1C1 = "bonjour"
Next i

mais ça ne marche pas

Pouvez vous m'aider?
Merci

2 réponses

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
     
    Bonjour,

    Essaies ce code :
    Dim i As Integer
    Dim t As Variant
    t = Array(486, 506, 539, 600)
    For i = LBound(t) To UBound(t)
    Range("B" & t(i)).Formula = "bonjour"
    Next i
    0
    1. T.yangui
       
      Merci Patrice 33740 , ça marche trés bien

      tout simplement si la liste est assez longue et peut être portée dans une liste (dans la même feuille ou autre), y a t-il une autre astuce pour ça. si oui comment faire?

      MERCI
      0
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
     
    Re,

    si ton code s'applique à la feuille 1 et
    si la liste se trouve en colonne A de la feuille 2, à partir de A1
    Dim i As Integer
    Dim t As Variant
    With Worksheets(2)
    t = Application.Transpose(.Range("A1:A" & _
    .Range("A" & .Rows.Count).End(xlUp).Row).Value)
    End With
    For i = LBound(t) To UBound(t)
    Worksheets(1).Range("B" & t(i)).Formula = "bonjour"
    Next i
    0
    1. T.yangui
       
      ça marche très très bien

      Merci Patrice33740, tu es génial

      A la prochaine
      0
    2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 785
       
      De rien, au plaisir de te relire sur le Forum

      Cordialement
      Patrice
      0