Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro Incrémentation

  • Initiateur de la discussion Initiateur de la discussion EkoH
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

EkoH

XLDnaute Nouveau
Bonsoir à toutes et tous,

Je souhaite créer une macro qui me permet d'inscrire un nombre et de l'incrémenter de +1 toutes les n lignes sur une colonne A (par ex ) de la ligne 1 à la ligne 5000.

J'ai trouvé une macro qui se rapproche de ce que je veux faire mais il me manque la condition incrémenter de +1 toutes les 51 lignes ...
:

Sub Incrementer()
Dim i As Long, DerLig As Long, P As Long
Sheets("Fiche.Prospect").Select
DerLig = Range("A1").SpecialCells(xlCellTypeLastCell).Row
'Numérote la colonne A (1)
P = 1
For i = 1 To DerLig
Cells(i, 1) = P
P = P + 1
Next i
End Sub


Pourriez vous m'aider à completer la formule ...
Merci d'avance pr votre contribution
RR
 
Re : Macro Incrémentation

Bonsoir Ekoh,

La macro suivante devrait faire ce que tu veux pour les lignes allant de 1 à la dernière ligne occupée.
Code:
Sub Incrementer() 
Dim i As Long, DerLig As Long
 
with Sheets("Fiche.Prospect")
DerLig = .Range("A" & .rows.count).End(xlUp).Row 
 
For i = 1 To DerLig 
    if isnumeric(.Cells(i, 1).value) then .cells(i,1).value=.cells(i,1).value+1 
Next i 
End With
End Sub

Si tu veux que cela commence en ligne 2 mets:

Code:
For i=2 to Derlig
A+
 
Re : Macro Incrémentation

Bonsoir,

Je propose cette boucle :

Sub Test()
pas = 51 'Regler ici le Pas
j = 1
For Each X In Sheets("Fiche.Prospect").Range("A1:" & Sheets("Fiche.Prospect").Range("A65536").End(xlUp).Address)
X.Value = j
If X.Row Mod pas = 0 Then j = j + 1
Next
End Sub

Il faut ecraser les données de la colonne A ?
 
Dernière édition:
Re : Macro Incrémentation

Re,
Bonsoir Hasco,

Ou bien le code suivant si la zone ne démarre pas en A1.

Sub Test()
pas = 51 'Regler ici le Pas
j = 1
i = 1
For Each X In Sheets("Fiche.Prospect").Range("A6:" & Sheets("Fiche.Prospect").Range("A65536").End(xlUp).Address)
X.Value = j
If i Mod pas = 0 Then j = j + 1
i = i + 1
Next
End Sub
 
Re : Macro Incrémentation

Bonsoir Hasco et Catrice,

Merci pour votre réactivité et l'aide que vous m'apportez ! Je vais tester vos solutions dès demain. Pour l'heure le VBA m'a assomé 😀 Je manque d'entrainement.

Ceci dit pour répondre à Catrice, cette incrémentation doit en effet ecraser les chiffres déjà présent dans les cellules. Le projet consiste à creer une BDD de fiches prospects (onglet Fiche.Prospect) en remplissant une fiche type qui est copié et collé à la suite des autres dans la BDD. Enfin le 3ieme onglet est un tableau récapitulatif où je peux analyser les données essentielles.
Par conséquent je dois pouvoir supprimer au fur et à mesure les fiches et donc réincrementer la colonne A ...

Je vous ferai part de la finalisation de ce petit fichier qui pourra pe etre utile a d'autres personnes.

Merci encore et à bientot
EkoH

Petit edit : Par curiosité j'ai testé ta macro Catrice. Elle a fonctionné du premier coup mais après avoir effacé les chiffres de la colonne A la macro ne s'execute plus ...
 
Dernière édition:
Re : Macro Incrémentation

Bonsoir,

Comme vu precedement, la macro fonctionne sur une zone deja remplie.
Si tu veux definir tazone, utilise ce code :

Sub Test()
Set MaZone = Sheets("Fiche.Prospect").Range("A1:A5000")
pas = 51 'Regler ici le Pas
j = 1
i = 1
For Each X In MaZone
X.Value = j
If i Mod pas = 0 Then j = j + 1
i = i + 1
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
375
Réponses
7
Affichages
832
Réponses
5
Affichages
665
Réponses
9
Affichages
884
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…