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
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