XL 2010 Macro Dupliquer valeur suivi d'un index

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 !

Sandrine123

XLDnaute Nouveau
Bonjour,

Je souhaiterais votre aide pour une macro excel.

Tout se joue sur la première ligne du fichier.
A partir de la colonne E, j'ai des valeurs suivi de colonne vide.

La macro doit reprendre la première valeur trouvée (ici 45H"), elle doit transformer cette valeur en "45H 1", puis écrire sur les 10 colonnes suivantes : "45H 2"," 45H 3", "45H 4" etc...
jusqu'à la prochaine valeur et ainsi de suite (80P 1, 80P 2 etc)

Merci pour votre aide.

Bonne journée.
 

Pièces jointes

Bonjour Dranreb, bonjour Sandrine.

Petit code sympathique à enregistrer.
J'ai essayé de l'adapter avec les lignes mais il me met une erreur "1004".
Dranreb, pourrais-tu s'il te plait nous donner le code pour remplir les lignes en partant de la même cellule E1 sur un step de 10 lignes ?

Merci par avance et bonne journée.
thierry

----
essai sur
Sub remplir_LigVides()
Dim R As Range
Set R = ActiveSheet.[E1]
Do Until IsEmpty(R.Value)
R.Resize(10, ).FormulaR1C1 = "=""" & R.Value & R.Row
Set R = R.Offset(10, ): Loop
End Sub
 
VB:
Sub remplir_LigVides()
Dim R As Range
Set R = ActiveSheet.[E1]
Do Until IsEmpty(R.Value)
   R.Resize(10, 1).FormulaR1C1 = "=""" & R.Value & " ""&ROW()-" & R.Row - 1
   Set R = R.Offset(10, 0): Loop
End Sub
Ou bien, pour omettre la colonne ou le nombre de colonnes, ne pas mettre de virgule :
VB:
Sub remplir_LigVides()
Dim R As Range
Set R = ActiveSheet.[E1]
Do Until IsEmpty(R.Value)
   R.Resize(10).FormulaR1C1 = "=""" & R.Value & " ""&ROW()-" & R.Row - 1
   Set R = R.Offset(10): Loop
End Sub
 
On peut aussi les écrire comme ça, si on préfère :
VB:
Sub remplir_colVides()
Dim R As Range
Set R = ActiveSheet.[E1]
Do Until IsEmpty(R.Value)
   R.Resize(, 10).FormulaR1C1 = "=""" & R.Value & " ""&COLUMNS(RC" & R.Column & ":RC)"
   Set R = R.Offset(, 10): Loop
End Sub
Sub remplir_LigVides()
Dim R As Range
Set R = ActiveSheet.[E1]
Do Until IsEmpty(R.Value)
   R.Resize(10).FormulaR1C1 = "=""" & R.Value & " ""&ROWS(R" & R.Row & "C:RC)"
   Set R = R.Offset(10): Loop
End Sub
 
Ah oui.. c'est bien aussi de cette manière.
Vraiment utile pour compléter les cellules vides avec pas d'incrémentation sur des codes qui doivent être rapides à exécuter. Je vais faire un test sur quelques milliers de lignes pour voir.
🙂

edit : très rapide. Parfait!
 
Dernière édition:
- 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
15
Affichages
683
Réponses
7
Affichages
519
Réponses
5
Affichages
212
Retour