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

Doubler les lignes contenant le nombre 1

  • Initiateur de la discussion Initiateur de la discussion serir
  • 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 !

S

serir

Guest
Bonjour 😎,

Je voulais doubler les lignes contenant 1 dans la colonne nbre,
La difficulté c'est que je n'arrive pas à écrire le nombre de lignes qui serai 16 en vba après la création des doublons.
Le nombre de lignes après la création des doublons n'est pas fixe il est en fonction du nombre de lignes avant la création.

Merci d'avance pour votre aide.
 

Pièces jointes

Re : Doubler les lignes contenant le nombre 1

Bonjour serir

Moi pas comprendre ça
le nombre de lignes qui serai 16 en vba après la création

Et ça
Le nombre de lignes après la création des doublons n'est pas fixe

😕 😕

Sinon, en cellule N2 par exemple tu tape le nombre de lignes que tu veux. Ensuite dans la macro

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
nombre = Range("n2")
Target.EntireRow.Resize(rowsize:=nombre).Insert Shift:=xlDown
Cancel = True
End Sub
 
Dernière édition:
Re : Doubler les lignes contenant le nombre 1

Bonjour.

Comme ça :
VB:
Sub DoublementLignes()
Dim L As Long
For L = ActiveSheet.Cells(Rows.Count, "D").End(xlUp).Row To 2 Step -1
   If Cells(L, "D").Value = 1 Then
      Rows(L).Copy
      Rows(L).Insert: End If: Next L
End Sub

Moralité: une exécution qui, durant elle même, change le nombre de ligne à traiter doit être entreprise depuis la fin vers le début. Pareil pour des suppressions de lignes.
 
Dernière édition:
Re : Doubler les lignes contenant le nombre 1

Merci beaucoup Dranreb😱 ça fonctionne très bien (seulement dans la ligne dont le code est 0002 il y a la sélection copier c'est à dire des tirés discontinu)

Et merci pour le conseil.
 
Re : Doubler les lignes contenant le nombre 1

Re à tous 🙂

Un autre exemple

Code:
Sub DoublementLignes()
Dim lig, col, nb As Long
Dim cel As Range
Sheets("Feuil8").Activate
With ActiveSheet
For Each cel In .Range("d2:d1002")
If cel Like "*1" Then
nb = .Range("f1")  ' nombre de lignes à inserer
cel.Offset(1, 3).EntireRow.Resize(rowsize:=nb).Insert Shift:=xlDown
End If
Next cel
For lig = 2 To .Range("a65536").End(xlUp).Row
For col = 1 To 4
If .Cells(lig, col) = "" Then
.Cells(lig, col) = .Cells(lig - 1, col)
End If
Next col
Next lig
End With
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
260
Réponses
16
Affichages
409
Réponses
5
Affichages
255
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…