Copier une ligne sur un autre onglet
Résolu
chrisdemontigny
Messages postés
70
Statut
Membre
-
chrisdemontigny Messages postés 70 Statut Membre -
chrisdemontigny Messages postés 70 Statut Membre -
Bonjour,
je souhaiterais copier une ligne d'un onglet pour la rajouter sur un autre onglet à condition que la case de la ligne concernée en colonne A comprenne la valeur "Ok". (pour information, il peut y avoir aussi "en cours", auquel on ne fait rien).
Je pense qu'il faut faire un FOR EACH pour aller tester toutes les valeurs sur la colonne A puisqu'il n'y a pas d'espace.
Par contre, je n'arrive pas à coller la ligne. En fait, je n'arrive pas à avoir la forme de code pour copier une ligne.
Voici ci-dessous ce que j'ai commencé mais ça bloque au niveau de la ligne de copie.
Merci de votre aide par avance.
je souhaiterais copier une ligne d'un onglet pour la rajouter sur un autre onglet à condition que la case de la ligne concernée en colonne A comprenne la valeur "Ok". (pour information, il peut y avoir aussi "en cours", auquel on ne fait rien).
Je pense qu'il faut faire un FOR EACH pour aller tester toutes les valeurs sur la colonne A puisqu'il n'y a pas d'espace.
Par contre, je n'arrive pas à coller la ligne. En fait, je n'arrive pas à avoir la forme de code pour copier une ligne.
Voici ci-dessous ce que j'ai commencé mais ça bloque au niveau de la ligne de copie.
Sub test() Set etatmission = Range(Range("A1").offset(1,0), Range("A1").End(xlDown)) For Each etat In etatmission Select Case etat.Value Case "ok" Sheets("second tableau").Range("a1").End(xlDown).Offset(1, 0).Row = etat.row End Select Next End Sub
Merci de votre aide par avance.
A voir également:
- Copier une ligne sur un autre onglet
- Comment copier une vidéo youtube - Guide
- Partager photos en ligne - Guide
- Copier un disque dur sur un autre - Guide
- Rouvrir onglet fermé chrome - Guide
- Mètre en ligne - Guide
3 réponses
Bpnjour,
Combien as tu de lignes (environ) ?
quelle est la dernière colonne (toujours très lourd de trimbaler une ligne entière) ?
Au besoin, mettre le classeur sans données confidentielles en pièce jointe sur http://cijoint.fr/
et coller le lien proposé dans le message de réponse
Dans l'attente
Combien as tu de lignes (environ) ?
quelle est la dernière colonne (toujours très lourd de trimbaler une ligne entière) ?
Au besoin, mettre le classeur sans données confidentielles en pièce jointe sur http://cijoint.fr/
et coller le lien proposé dans le message de réponse
Dans l'attente
Bonjour Michel,
en effet, nous ne sommes pas obligés de recopier la ligne puisque je n'ai besoin que des des colonnes A à M.
J'aurais je pense au plus 20 lignes à transférer au cours d'une journée.
Si sur la case A18 est marqué "ok", alors je devrai copier les cases A18 à M18.
en effet, nous ne sommes pas obligés de recopier la ligne puisque je n'ai besoin que des des colonnes A à M.
J'aurais je pense au plus 20 lignes à transférer au cours d'une journée.
Si sur la case A18 est marqué "ok", alors je devrai copier les cases A18 à M18.
on ne boucle que sur le nomnre de "ok"
"ok" sensible à la casse
"ok" sensible à la casse
Option Explicit
'----------
Sub copier_si_ok()
Dim Derlig As Byte, Nbre As Byte, Cptr As Byte, Lig1 As Byte, Lig2 As Byte, T_ok
Application.ScreenUpdating = False
Sheets(2).Range("A2:M30").ClearContents
With Sheets(1)
Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row
Nbre = Application.CountIf(.Range("A2:A" & Derlig), "ok")
Lig1 = 1
Lig2 = 1
For Cptr = 1 To Nbre
Lig1 = .Columns("A").Find("ok", .Cells(Lig1, "A"), xlValues).Row
T_ok = .Range(.Cells(Lig1, "A"), .Cells(Lig1, "M"))
Lig2 = Lig2 + 1
Sheets(2).Range("A" & Lig2).Resize(1, 13) = T_ok
Next
End With
Sheets(2).Activate
End Sub