Boucle vba

Résolu
Bonjour,

Quelqu'un peut m'aider pour faire une boucle svp,

je suis novice en vba ! Merci d'avance

 
Workbooks("Data.xlsm").Worksheets("CA").Range("A2:A10990") = "FR"

Workbooks("Data.xlsm").Worksheets("CA").Range("B2:B10990") = Workbooks("PAUL.xlsm").Sheets("Suivi ").Range("A5:A10999").Value

Workbooks("Data.xlsm").Worksheets("CA").Range("C2:C10990") = Workbooks("PAUL.xlsm").Sheets("Suivi ").Range("BA5:BA10999").Value

Workbooks("Data.xlsm").Worksheets("CA").Range("D2:D10990") = Workbooks("PAUL.xlsm").Sheets("Suivi").Range("BB5:BB10999").Value

3 réponses

  1. Bonjour happy4u,

    Je te propose ce code VBA, à mettre dans
    le Module1 du classeur "PAUL.xlsm" :

    
    Option Explicit
    
    Sub Essai()
      Worksheets("Suivi").Select
      Dim dlig As Long: Application.ScreenUpdating = False
      dlig = Range("A" & Rows.Count).End(xlUp).Row
      If dlig < 5 Then Exit Sub
      With Workbooks("Data").Worksheets("CA")
        .Range("A2:A" & dlig - 3) = "FR"
        Range("A5:A" & dlig).Copy .[B2]
        Range("BA5:BB" & dlig).Copy .[C2]
      End With
      Workbooks("Data").Activate
    End Sub
    
    

    ⚠  Les 2 classeurs doivent être ouverts ! tu dois être sur le classeur "PAUL"
    pour lancer la macro ; ça fera le travail, puis ça ira sur le classeur "Data".

    ⚠  Je suppose que la feuille "CA" est vide => il n'y a pas de données
    précédentes à effacer ; sinon : si la nouvelle liste est moins longue
    que l'ancienne, tu verras en dessous les anciennes données.

    Si besoin, tu peux me demander une adaptation.
    Merci de me dire si ça te convient.

    Cordialement
     
    1
    1. Super, ça me va comme ça! Merci beaucoup.
      0
  2. Salut, tu dois mettre "do" dans la première ligne au debut et "loop" dans la dernière ligne.
    0
    1. Ok merci.
      0
  3. Contributeur
    bonsoir, n'hésite pas à expliquer ce que tu souhaites que ton programme fasse.
    0
    1. C'est bien résolu, je voulais juste mettre une petite boucle, merci :)
      0