VBA double numerotation en sautant des lignes

Bonjour à tous

Je dois réaliser un petit programme et je galère vraiment car je suis vraiment novice en vba.

Je souhaiterai réaliser une double numérotation en sautant des lignes, la première étant fixe la seconde avec un pas de 1, selon des valeurs entrée par des inputbox.

  • en G1 = 1 I1=1
    en G11 = 1 I11= 2
    ..... ......

Je suis arrivé à créer une numérotation simple avec les inputbox, mais je n'arrive pas à insérer le fait de sauter 10 lignes entre chaque numéro et d'insérer la numérotation fixe.

J'ai tenté avec

step 10

, la macro saute bien 10 lignes mais aussi 10 numéros

Je vous remercie pour l'aide que vous pourrez m'apporter.

Cordialement

stéphane

Salut,

Pas tout compris mais essaye ça :

cldt,

Uras

bonjour le forum

bonjour Uras,

Merci de d'être penché sur ma demande et ca marche impeccable. j'ai intégré le numéro de carnet via une inputbox.

Sub TEST()
Dim c As Integer    'N° du carnet valeur fixer à répéter suivant le nombre de feuillets
Dim i As Integer    'incrémentation du numéro du feuillet

c = InputBox("Entrez le numéro de carnet ")

For i = InputBox("Entrez le numéro de départ des liasses") To InputBox("Entrez le nombre de feuillets à numéroter") 'Step 10
Cells((i - 1) * 10 + 1, 7) = c
Cells((i - 1) * 10 + 1, 9) = i
Next i

End Sub

Par contre cette procédure me permet de numéroter un carnet à la fois, et là je me dis que je pourrais :

  • demander le nombre de carnet (ca ok)
  • A partir de quel numéro commence le carnet (ca ok)

et dans la boucle quand la numérotation des feuillets a atteint les 50, de changer de numéro de carnet et de recommencer la numérotation des feuillets de 1 a 50.

J'espère avoir été suffisamment clair....

Merci si tu peux m'apporter encore ton aide.

Cordialement

Stéphane

bonsoir à tous

Personne aurait une idée?

Cordialement

Stéphane

Salut,

Essaie ça :

Par contre j'ai fait au plus simple suivant ton exemple, explique bien à quoi servent tous les inputs, je n'ai pas bien compris.

Cldt,

Uras

bonjour le forum,

Bonjour Uras, merci d'avoir pris le temps de te repencher sur mon problème.

Quand je lance la macro, cela ne semble pas fonctionner correctement de mon coté, car l'incrémentation s'effectue pour un carnet seulement.

Alors au niveau des inputs, le plus important est :

  • le nombre de carnets à numéroter (par ex 10)
  • le point de départ de la numérotation des carnets (par ex 1)
ces données peuvent varier.

Par contre pour mon besoin, les feuillets des carnets seront numérotés de 1 à 50, cela supprime ainsi les input liés aux feuillets

L'incrémentation sera donc : 1-1, 1-2, 1-3, 1-4.......1-50, 2-1, 2-2, 2-3......2-50, 3-1, 3-2, 3-3.....3-50...........

J'ai essayé de modifier le code que tu m'as proposé mais en vain, toujours un seul carnet s'incrémente

J'espère avoir été plus clair

Cordialement

stéphane

Ok, j'ai saisis.

Voilà la macro qui pourrait te convenir :

Cldt,

Uras

Super Uras !!! l'incrémentation se déroule parfaitement bien.

Par contre au départ :

Je rentre le nombre de carnets à numéroter,

puis l'input box me demande le numéro du 1er carnet, puis du second, du troisième, etc.....

Est il possible de ne pas avoir à le saisir ? a savoir rentrer le nombre de carnets et le numéro de départ seulement et que la macro s'execute?

et là ca serait vraiment parfait.

Je cherche également de mon côté.

Je te remercie pour ton aide.

Cordialement

stéphane

Re,

Un grand merci Uras, pour tout le temps que tu as passé pour résoudre mon problème et pour les codes proposés.

la solution finale a été trouvée, j'avais posté hier soir une demande similaire sur le forum Excel download,

et on vient de m'adresser un code qui fonctionne, j' insère le code de Roger2327 ci-dessous à toute fin utile

Sub TEST3()
Dim i%, j%, k&, c%, nc%, nf%, v()
Const p& = 10

  c = InputBox("Entrez le numéro du premier carnet ")
  nc = InputBox("Entrez le nombre de carnets à imprimer")
  nf = InputBox("Entrez le nombre de feuillets à numéroter")

  With [G1:I1].Resize(p * nc * nf, 3)
    v = .Value

    For i = 0 To nc - 1
      k = 1 + p * nf * i
      For j = 0 To nf - 1
        v(k, 1) = c + i
        v(k, 3) = 1 + j
        k = k + p
      Next
    Next

    .Value = v
  End With

End Sub

Je vais maintenant décrypter les deux codes pour tenter d'améliorer mes compétences dans le VBA....

Merci

bonne journée

stéphane

Rechercher des sujets similaires à "vba double numerotation sautant lignes"