Visual basic boucle sous excel

Résolu
Bonjour,

je voulais savoir si quelqu'un pouvait m'aider. Je cherche à copier les valeurs de certaines cellules d'une feuille à une autre. Mais je les réorganise différemment suivant les 2 feuilles.
Si je n'ai pas été claire, je vous envoie mes 2 premières séquences, j'en ai 100 à faire c'est pour ça que j'aimerai trouver une façon de répéter une séquence. Peut être y a t'il de meilleure solution?

Merci d'avance!

Sub Macro3()
'
' Macro3 Macro
'

'
Range("E2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[0]C[-2]"
Range("F2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[1]C[-3]"
Range("G2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[2]C[-4]"
Range("H2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[3]C[-5]"
Range("I2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[4]C[-6]"
Range("J2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[4]C[-5]"
Range("K2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[4]C[-4]"
Range("L2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[4]C[-4]"
Range("M2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[4]C[-4]"
Range("N2").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[4]C[-10]"

Range("E3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[4]C[-2]"
Range("F3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[5]C[-3]"
Range("G3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[6]C[-4]"
Range("H3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[7]C[-5]"
Range("I3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[8]C[-6]"
Range("J3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[8]C[-5]"
Range("K3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[8]C[-4]"
Range("L3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[8]C[-4]"
Range("M3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[8]C[-4]"
Range("N3").Select
ActiveCell.FormulaR1C1 = "='liste prépa cde'!R[8]C[-10]"

End Sub

2 réponses

  1. Bonjour, si j'ai bien compris : tu veux copier la cellule 'liste prépa cde!C2 dans la page active!e2 ect ...?

    a+

    jéjé
    0
    1. Oui c'est exactement ça.
      Et pour la 2ème séquence je veux copier la cellule 'liste prépa cde!C7 dans la page active!e3 ect

      Merci
      0
      1. tu veux copier la valeur, ou faire un lien comme tu as fais?

        merci
        0
      2. Si tu veux juste recuperer les données essaie ca :

        Sub Macro3()
        '
        ' Macro3 Macro
        '

        x = 0
        For i = 2 To 100

        Sheets("feuil1").Cells(i, 5) = Sheets("liste prépa cde").Cells(i + x * 4, 3)
        Sheets("feuil1").Cells(i, 6) = Sheets("liste prépa cde").Cells(i + x * 4 + 1, 3)
        Sheets("feuil1").Cells(i, 7) = Sheets("liste prépa cde").Cells(i + x * 4 + 2, 3)
        Sheets("feuil1").Cells(i, 8) = Sheets("liste prépa cde").Cells(i + x * 4 + 3, 3)
        Sheets("feuil1").Cells(i, 9) = Sheets("liste prépa cde").Cells(i + x * 4 + 4, 3)
        Sheets("feuil1").Cells(i, 10) = Sheets("liste prépa cde").Cells(i + x * 4 + 4, 5)
        Sheets("feuil1").Cells(i, 11) = Sheets("liste prépa cde").Cells(i + x * 4 + 4, 7)
        Sheets("feuil1").Cells(i, 12) = Sheets("liste prépa cde").Cells(i + x * 4 + 4, 8)
        Sheets("feuil1").Cells(i, 13) = Sheets("liste prépa cde").Cells(i + x * 4 + 4, 9)
        Sheets("feuil1").Cells(i, 14) = Sheets("liste prépa cde").Cells(i + x * 4 + 4, 4)

        x = x + 1

        Next

        End Sub
        0
      3. Parfait merci ça marche.

        Par contre comment je peux lui dire de s'arrêter quand les cellules de la feuille "liste prépa cde"sont vides? Car, en fait je n'ai jamais la même quantité mais par exemple au début j'en ai environ 10 puis 50, et ainsi jusqu'à 100.

        En tout cas merci beaucoup
        0
      4. Soit tu change la boucle
        For i=2 to 100

        en
        For i=2 to 10

        soit il faut faire un calcul du nombre de ligne, et la comme je n'ai pas ton fichier, je ne sais pas comment faire
        0
      5. ok parfait en tout cas merci de votre aide
        0