Déplacer des ligne
Résolu/Fermé
A voir également:
- Déplacer des ligne
- Déplacer une colonne excel - Guide
- Aller à la ligne excel - Guide
- Site de vente en ligne particulier - Guide
- Partager photos en ligne - Guide
- Déplacer barre des taches windows 11 - Guide
3 réponses
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
13 juil. 2017 à 17:28
13 juil. 2017 à 17:28
Bonjour le forum,
Ton Code !?... T'es gonflé toi !...
Ton Code !?... T'es gonflé toi !...
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
14 juil. 2017 à 09:42
14 juil. 2017 à 09:42
Le code répondait à ta question initiale qui était : Je veux Copier coller des lignes sur d'autres feuilles lorsque dans une une colonne de la 1ère feuille des conditions sont remplie
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
14 juil. 2017 à 17:47
14 juil. 2017 à 17:47
Bonjour le forum,
Private Sub CommandButton3_Click() Dim OS As Worksheet 'déclare la variable OS (Onglet Source) Dim OD As Worksheet 'déclare la variable OD (Onglet Destination) Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs) Dim NL As Long 'déclare la variable NL (Nombre de lignes) Dim NC As Byte 'déclare la variable NC (Nombre de colonnes) Dim I As Long 'déclare la variable I (Incrément) Dim J As Byte 'déclare la variable J (incrément) Dim K As Long 'déclare la variable K (incrément) Dim L As Byte 'déclare la variable L (incrément) Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes) Dim LAS() As Variant 'déclare la variable LAS (Lignes à Supprimer) Dim DEST As Range 'déclare la variable DEST (cellule de DESTination) Set OS = Worksheets("Entrée de charge") 'définit l'onglet source OS Set OD = Worksheets("Livraison") 'définit l'onglet destination OD TV = OS.Range("A1").CurrentRegion 'définit le tableau des valeurs TV NL = UBound(TV, 1) 'définit le nombre de lignes NL du tableau des valeurs TV NC = UBound(TV, 2) 'définit le nombre de colonnes NC du tableau des valeurs TV K = 1 'initialise la variable K For I = 2 To NL 'boucle 1 : sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde) If TV(I, 10) = "Terminé" Then 'condition : si la données ligne I colonne 10 (=> colonne J) est égale à "Terminé" ReDim Preserve TL(1 To NC + 2, 1 To K) 'redimensionne le tableau des lignes TL( 2 ligne de plus que TV a de colonnes, K colonnes) ReDim Preserve LAS(1 To K) 'redimensionne le tableau LAS For J = 1 To NC 'boucle 2 : sur toutes les colonnes J du tableau des valeurs TV L = IIf(J < 10, J, J + 2) 'définit la variable L (en fonction de J) TL(L, K) = TV(I, J) 'récupère dans la ligne L de TL la donnée en colonne J de TV (= Transposition) Next J 'prochaine colonne de la boucle 2 LAS(K) = I 'récupère dans le tableau LAS le numéro de la ligne à supprimer K = K + 1 'incrémente K (ajoute une colonne au tableau des lignes TL) End If 'fin de la condition Next I 'prochaine ligne de la boucle 1 If K > 1 Then 'condition : si K est supérieure à 1 Set DEST = OD.Cells(Application.Rows.Count, "A").End(xlUp).Offset(1, 0) 'définit la cellue de destination DEST 'renvoie dans DEST redimensionnée le tableau TL transposé DEST.Resize(UBound(TL, 2), UBound(TL, 1)).Value = Application.Transpose(TL) For I = UBound(LAS) To 1 Step -1 'boucle inversée sur tous les élément du tableau LAS OS.Rows(LAS(I)).Delete 'dans l'onglet source OS, supprime la ligne de l'élément Next I 'prochain élément de la boucle End If 'fin de la condition End Sub
13 juil. 2017 à 17:45
13 juil. 2017 à 17:48