Programme nombre auto dans cellule excel VBA

Fermé
Messages postés
50
Date d'inscription
dimanche 15 juin 2008
Statut
Membre
Dernière intervention
19 janvier 2012
-
Messages postés
10197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 janvier 2022
-
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

Messages postés
10197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 janvier 2022
2 275
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
Messages postés
50
Date d'inscription
dimanche 15 juin 2008
Statut
Membre
Dernière intervention
19 janvier 2012
1
Merci beaucoup pour cette réponse je vais essayer et je reviens vous dire si j'ai réussi.

A bientôt.
Messages postés
50
Date d'inscription
dimanche 15 juin 2008
Statut
Membre
Dernière intervention
19 janvier 2012
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...
Messages postés
10197
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
14 janvier 2022
2 275
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