Menu

Copier coller des lignes sur d'autres feuilles [Résolu]

Haitam_mhamdi 11 Messages postés mardi 4 juillet 2017Date d'inscription 7 juillet 2017 Dernière intervention - 6 juil. 2017 à 12:01 - Dernière réponse :  Haitam_mhamdi
- 10 juil. 2017 à 13:49
Bonjour,

Je veux Copier coller des lignes sur d'autres feuilles lorsque dans une une colonne de la 1ère feuille des conditions sont remplie

Merci d’avance à ceux qui se pencheront sur le problème

Afficher la suite 

11 réponses

Répondre au sujet
ThauTheme 4338 Messages postés mardi 21 octobre 2014Date d'inscription 6 septembre 2017 Dernière intervention - 6 juil. 2017 à 16:22
0
Utile
1
Bonjour Haitam_mhamdi, bonjour le forum,

Oui c'est bien !... Mais si tu ne nous en dis pas plus, et sans le fichier qui va bien, je vois mal comment on va pouvoir t'aider !...
Haitam_mhamdi 11 Messages postés mardi 4 juillet 2017Date d'inscription 7 juillet 2017 Dernière intervention - 7 juil. 2017 à 10:21
Bonjour je veux copier une ligne de la page " Entrer de charge " a condition que la colone " statut " soit terminer vers la page livraison voila une copie de mon fichier et merci
file:///C:/Users/hmhamdi/Downloads/pilotage%20de%20charge%20(1).xlsx
Commenter la réponse de ThauTheme
ThauTheme 4338 Messages postés mardi 21 octobre 2014Date d'inscription 6 septembre 2017 Dernière intervention - 7 juil. 2017 à 11:23
0
Utile
1
Re,

Désolé mais le lien fourni ne permet pas de télécharger le fichier...
Haitam_mhamdi 11 Messages postés mardi 4 juillet 2017Date d'inscription 7 juillet 2017 Dernière intervention - 7 juil. 2017 à 11:26
je peux vous l'envoyer par e-mail svp j'ai vraiment besoin de votre aide et merci
Commenter la réponse de ThauTheme
ThauTheme 4338 Messages postés mardi 21 octobre 2014Date d'inscription 6 septembre 2017 Dernière intervention - 7 juil. 2017 à 12:10
0
Utile
3
Regarde avec http://www.cjoint.com/
Haitam_mhamdi 11 Messages postés mardi 4 juillet 2017Date d'inscription 7 juillet 2017 Dernière intervention - 7 juil. 2017 à 12:20
http://www.cjoint.com/c/GGhksAoYlye : voila Merci infiniment
ThauTheme 4338 Messages postés mardi 21 octobre 2014Date d'inscription 6 septembre 2017 Dernière intervention > Haitam_mhamdi 11 Messages postés mardi 4 juillet 2017Date d'inscription 7 juillet 2017 Dernière intervention - 7 juil. 2017 à 12:30
Re,

Ok, je regarde ça plus tard...
Haitam_mhamdi 11 Messages postés mardi 4 juillet 2017Date d'inscription 7 juillet 2017 Dernière intervention - 7 juil. 2017 à 12:31
d'accord merci
Commenter la réponse de ThauTheme
ThauTheme 4338 Messages postés mardi 21 octobre 2014Date d'inscription 6 septembre 2017 Dernière intervention - 7 juil. 2017 à 19:04
0
Utile
2
Re,

Bon !... Quelques conseil pour tes futurs problèmes. Quand on fournit un fichier il n'est pas nécessaire qu'il contienne des lignes et des lignes de données. Mais aucune !... C'est carrément du foutage de gueule... J'ai failli ne pas te répondre. Il faut bien que tu comprennes que le code que l'on te propose il nous faut le tester avant. Et pour cela, une dizaine de ligne de données sont toujours très utiles...

Quelle idée à la *** de mettre dans l'onglet destination deux colonnes en plus (et en plein milieu du tableau évidement !) que dans l'onglet source !...

Affecte le code ci-dessous au bouton et ça devrai marcher.

Le code :

Sub Macro1()
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 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 tabbleau des lignes TL( 2 ligne de plus que TV a de colonnes, K colonnes)
        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
        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)
End If 'fin de la condition
End Sub

Commenter la réponse de ThauTheme