Programme nombre auto dans cellule excel VBA

Fermé
streamingpro Messages postés 50 Date d'inscription dimanche 15 juin 2008 Statut Membre Dernière intervention 19 janvier 2012 - 4 févr. 2011 à 18:05
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 - 5 févr. 2011 à 12:36
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

ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 4/02/2011 à 21:49
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 dimanche 15 juin 2008 Statut Membre Dernière intervention 19 janvier 2012 1
5 févr. 2011 à 10:27
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 dimanche 15 juin 2008 Statut Membre Dernière intervention 19 janvier 2012 1
5 févr. 2011 à 12:21
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 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 6/02/2011 à 08:44
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