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

XL 2019 Copier une cellule d'une ligne toutes les 5 lignes

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 !

Bonjour lynyrd, sylvany,

En VBA ça donne ceci :
VB:
Sub TirerCellule()
Dim source As Range, dest As Range, pas&, n
Set source = [A1]
Set dest = [B1]
pas = 5
n = Int(Val(Application.InputBox("Nombres de cellules à remplir :")))
dest.EntireColumn.Replace source, "", xlWhole 'RAZ
If n < 1 Then Exit Sub
dest = source
For n = 1 To n - 1
    dest.Offset(pas) = dest
    Set dest = dest.Offset(pas)
Next
End Sub
A+
 
Dernière édition:
Re,
"Just for the fun" un simple essai avec plusieurs solutions VBA pour voir quel algo serait le plus rapide, par boucle, par formules, par array, pour un nombre élevé de cellules à remplir.
Sur mon PC l'approche par formule est le plus rapide.
 

Pièces jointes

L'inconvénient de la solution ave formules c'est qu'elle efface les autres cellules.

Pour l'array il vaut mieux écrire :
VB:
Sub TirerCellule3()
    ' Par array
    Dim T0, n, T, V
    T0 = Timer
    n = [E4]: V = [A1]
    [B:B].Replace V, "", xlWhole
    T = Range("B1:B" & 5 * n)
    For i = 1 To 5 * n Step 5
        T(i, 1) = V
    Next i
    [B1].Resize(UBound(T, 1), UBound(T, 2)) = T
    [E12] = Timer - T0
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
2
Affichages
83
Réponses
2
Affichages
115
Réponses
75
Affichages
1 K
Réponses
5
Affichages
174
Réponses
7
Affichages
116
Réponses
9
Affichages
162
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…