Incrementer un increment

Bonjour et merci de votre aide.

voilà mon problème.

Je dois dans un classeur, ajouter une page et ensuite, je dois rajouter une ligne dans une autre page à un endroit précis.

Mais, je veux que cette fonction se fasse en automatique et en incrémentation.

Donc, pour faire une histoire courte, j'insère une page #2 dans mon classeur, ensuite, je vais dans la page "test" et j'insère une ligne qui sera à la suite de la ligne de la page #1, donc ligne 6 + 1. (La ligne correspondant à la page 1 se trouve en A6).

Après, je vais créer une page #3 et je dois créer une nouvelle ligne dans ma page test qui sera 2 lignes plus basse que la ligne 1. Donc ligne 6 + 2.

J'incrémente comme cela jusqu'à 200 pages. Il faut que l'incrémentation des lignes soit invisible pour l'utilisateur. Je vais répéter cette formule pour plusieurs page dans mon classeur.

J'ai fait un fichier pour vous aider à comprendre. Je n'ai aucune idée de comment m'y prendre. Je sais comment créer une page et comment l'inséré au bonne endroit, je sais comment créer un ligne et copier les données mais je n'ai aucune idée de comment incrémenter. Ma formule serait selon moi: si j'insère une 2e page, dans la page test, insère une ligne en A6 + x ou le x se réfère au chiffre de la page.

Voilà, j'espère que c'est clair pour vous sinon n'hésitez pas à me poser des questions.

merci de votre aide

15classeur1.xlsx (15.95 Ko)

Bonjour, j'ai trouvé comment résoudre mon problème mais je ne sais pas comment le faire donc si vous avez des idées, elle seront le bienvenue.

Voici mon code en VBA:

'Changer de feuille

'créer une nouvelle ligne

Range("A5").select

ActiveCell.Offset(1, 0).Select

Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAboveove

Donc voilà comment j'ai trouvé le faire: je fais un offset de ma cellule de départ ("A5") pour descendre d'une case. Il faut que j'incrémente cette offset. Donc je prend le numéro de la page et je multiplie par 1 (pour une ligne) ou par 3 mettons si j'ai trois lignes. Donc je comment je fais pour incrémenter l'offset et comment je fais pour aller chercher le numéro de ma page? Ma page est # (1) pour la première, # (2) pour la deuxième, etc.

merci!

J'ai trouvé la solution. Elle est peut-être pas la plus simple qui existe mais elle fonctionne. Je la mets, peut-être va-t-elle un jour servir à quelqu'un d'autre.

Sub offset()

'définition des variables

Dim numero_ligne As Integer

Dim page As Worksheet

Dim ajout_lig As Integer

Dim increment As Integer

Dim numpage As String

Dim extnum As String

'DÉPART DE LA MACRO

'Sélectionnez la feuille à copier

Dim feuille As Variant

feuille = InputBox("Entrez le numéro de la feuille à copier", vbOKCancel)

Sheets(feuille).Select

'Créer une nouvelle feuille

Dim Ws As Worksheet

Set Ws = ActiveSheet

Ws.Copy After:=Ws

'récupérer le numéro de la feuille

Dim nom As Variant

nom = ActiveSheet.name

numpage = nom

numpage = Right(numpage, 2)

extnum = Replace(numpage, ")", "")

'INSERTION DES LIGNES SUR LA PAGE: test

'-----------------------------------------------

'Changer de feuille

Sheets("test").Select

increment = numero_ligne + extnum

'positionner la ligne au bon endroit pour créer l'insertion

Set page = ActiveSheet

numero_ligne = Range("A1") + 5 + increment

ajout_lig = cells(numero_ligne, 1).EntireRow.Select

'créer une nouvelle ligne

ActiveCell.offset(1, 0).Select

selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAboveove

'copier une ligne entière et décaler vers le bas

ActiveCell.offset(-1, 0).Select

ActiveCell.EntireRow.Select

selection.Copy

ActiveCell.offset(1, 0).Select

ActiveSheet.Paste

'incrémenter de 1 la celllule sélectionné

Application.CutCopyMode = False

ActiveCell.offset(0, 0).Select

ActiveCell = ActiveCell + 1

Rechercher des sujets similaires à "incrementer increment"