Programme nombre auto dans cellule excel VBA

streamingpro Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

4 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
streamingpro Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci beaucoup pour cette réponse je vais essayer et je reviens vous dire si j'ai réussi.

A bientôt.
0
streamingpro Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   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
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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