Excel macro VBA

Résolu
jack36 -  
 jack36 -

Bonjour la communauté,

Je suis novice en macro et VBA,

J'ai un fichier excel avec par ex. les données suivantes :

colonne A des noms : toto, lolo, roro, ....

colonne B des objets : pommes, poires, prunes, ....

colonne C des départements : Ain, Aude, Aveyron, ....

Je désire copier x fois, entre 5 et 10 fois  (valeur choisi au lancement du programme)

les valeurs de la ligne 1 (toto, pommes, Ain) en colonne D,E et F (ou bien dans une autre feuille/onglet, si plus simple, peu importe)

(par ex. 7 fois toto en colonne D, 7 fois pommes en colonne E, 7 fois Ain en colonne F)

puis incrémenter de 1

c'est à dire copier à la suite les valeurs ligne 2 (lolo, poires, Aude) (toujours 7 fois dans mon exemple)

et ainsi de suite ....

Je vais essayer de joindre un fichier excel d'exemple pour être plus clair.

Merci pour votre réponse et bon week-end à tous,

Jacques.

3 réponses

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     

    Bonjour,

    un exemple à mettre dans un module:

    Option Explicit
    Sub test()
    Dim DerniereLigneUtilisee As Long
    Dim dl As Integer
    Dim i As Integer
    Dim j As Integer
    Dim repetition As Integer
    DerniereLigneUtilisee = Cells(Rows.Count, 1).End(xlUp).Row
      repetition = InputBox("Nombre de répétition :", "Répétition", "7")
    For i = 1 To DerniereLigneUtilisee
    For j = 1 To repetition
    Cells(j + dl, 4).Value = Cells(i, 1).Value
    Cells(j + dl, 5).Value = Cells(i, 2).Value
    Cells(j + dl, 6).Value = Cells(i, 3).Value
    Next j
    dl = Cells(Rows.Count, 4).End(xlUp).Row
    Next i
    End Sub
    

    voilà


    1
  2. jack36
     

    Bonjour cs Le Pivert,

    Merci infiniment pour ta réponse rapide.

    Je vois que tu as bien compris ma demande de macro (même sans avoir pour ma part joint de petit tableau excel pour mieux expliquer mon désir) car après un essai cette macro fonctionne parfaitement. Quel bonheur.

    Merci également au site "Comment ça marche". J'ai 68 ans et je suis un novice en fichier excel et macro.

    Juste une petite question pour que je me couche "légèrement plus intelligent ce soir".

    J'ai décrypté ta macro, et j'ai "à peu près" compris l'enchainement des lignes de commandes.

    Néanmoins il y a 2 lignes contiguës que je ne comprends pas:

    Dim i As Integer

    Dim j As Integer

    question : que veux dire, ou bien à quoi se rapporte les lettres "i" et "j" ? ?

    (existe-t-il un petit bouquin simple et clair pour comprendre les instructions des macro)

    Encore merci à toi "cs Le Pivert" et bon mois d'Août ou que tu sois.

    Jacques.

    0
    1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       

      voir ceci pour les boucles et pour tout le reste:

      https://www.excel-pratique.com/fr/vba/boucles

      i va parcourir la colonne A du début jusqu'à la dernière ligne remplie

      j va faire le nombre de répétition demandées

      voilà

      @+ Le Pivert

      0
  3. jack36
     

    merci à toi pour ce complément d'info sur ma macro;

    Bonne aprèm ..... à l'ombre,

    Jacques.

    0