Programme nombre auto dans cellule excel VBA

streamingpro Messages postés 54 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour à tous,

Alors voilà mon problème, j'aimerai créer un module en VBA qui me permettrait de faire des tickets de tombola. Pour cela il faudrait que mon programme copie le ticket et y incrémente un numéro (genre numéro automatique comme dans Access).

Je connais un peu le VBA (je l'étudie en cours) et donc j'aimerai savoir comment, à l'aide d'une boucle, on peut insérer un nombre auto dans un case et qu'à chaque fin de boucle le numéro change dans un autre case.

Par exemple ça ferait : A1 = 1, A10 = 2, A20 = 3...

De plus, je ne connais pas la fonction qui permet de copier des cellules et leur contenu ce qui serait plus pratique que de faire des copier coller.

Merci d'avance.

4 réponses

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

    Q1.
    k = 0 
    Do 
      For i = 1 To 10 
        ' ta boucle 
      Next i 
      k = k + 1 
      Range("A" & 1 + 10 * (k - 1)).Value = k 
    Loop Until k = 5 
    

    Q2.

    pour copier une cellule
    Range("A2").Value = Range("A1").Value 

    ou
    cells(2,1).Value = cells(1,1).Value 


    pour copier une plage
    Range("A5:B7").Value = Range("A1:B3").Value 


    bonne suite
    1
  2. streamingpro Messages postés 54 Statut Membre 1
     
    Merci beaucoup pour cette réponse je vais essayer et je reviens vous dire si j'ai réussi.

    A bientôt.
    0
  3. streamingpro Messages postés 54 Statut Membre 1
     
    Alors j'ai recherché un peu partout mais je n'arrive toujours pas à copier mes tickets dans un autre cellule.

    En fait il faudrait que je copie ("A1:H10") en ("Ax:Hy"), x et y étant une variable qui changerai à chaque boucle, toutes les 10 lignes.

    Si quelqu'un à une idée...
    0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    re
      x = Range("F1").Value  
      y = x + 9 
      Range("A" & x & ":H" & y).Value = Range("A1:H10").Value

    copie la plage A1:H10 sur Ax:Cy, x etant lu en F1
    RQ. Les deux plages doivent avoir la même taille, d'où le y = x+9

    bonne suite
    0