copier coller certaines cellules dans une autre feuilles avec conditions

Izydore

XLDnaute Nouveau
Bonjour à tous

J'aimerais copier certaines cellules d'un tableau d'une feuille "T1, T2 ou T3" vers le tableau de la feuille "planning" sous la condition qu'une certaine colonne contienne la valeur "J".
Prenons un exemple:
Si "J" en C26 de la feuille E1, copier les cellules B26,F26,H26 et I26 en D29,G29,H29,I29 de la feuille "planning.
Dans la feuille T1, en K26 correspondent 2 lettres que l'on retrouvent dans le tableau "planning" colonne B, là ou il faut faire la copie.

Merci d'avance pour toute l'aide que vous voudrez bien m'apporter.
 

Pièces jointes

  • Test travaux.xlsm
    239 KB · Affichages: 78
  • Test travaux.xlsm
    239 KB · Affichages: 87
  • Test travaux.xlsm
    239 KB · Affichages: 86

Izydore

XLDnaute Nouveau
Re : copier coller certaines cellules dans une autre feuilles avec conditions

Merci pour ta réponse, mais ce n'est pas ce que je recherche.
Je veux faire un copier coller a chaque fois que je mais un J dans la colonne C des cellules appartenant aux colonnes B,F,H et I de la feuille "T1" vers D,G,H,I de la feuille "planning".
Pour faire le collage , il faut tenir compte du non écrit dans la colonne K de la feuille "T1" et le coller sur le même nom de la feuille "planning" cad colonne B.
Ci joint un exemple avec la ligne 26 de la feuille "T1" coller en ligne 29 de la feuille "planning".
 

Pièces jointes

  • Test travaux.xlsm
    188.7 KB · Affichages: 65
  • Test travaux.xlsm
    188.7 KB · Affichages: 73
  • Test travaux.xlsm
    188.7 KB · Affichages: 77

excfl

XLDnaute Barbatruc
Re : copier coller certaines cellules dans une autre feuilles avec conditions

Re,

Peut-être ?

=INDEX('T1'!B20:B79;EQUIV("J";'T1'!C20:C79;0))


=RECHERCHEV("J";tableau;4;FAUX)

excfl
 

Pièces jointes

  • Copier cellules.xlsm
    183.8 KB · Affichages: 61

Izydore

XLDnaute Nouveau
Re : copier coller certaines cellules dans une autre feuilles avec conditions

C'est un bon début excfl, mais je cherche à faire une macro, car si je change les initiale dans la colonne K de la feuille T1 ex JP, la copie doit se faire dans la première ligne de JP de "planning", cad ligne 53.
 

job75

XLDnaute Barbatruc
Re : copier coller certaines cellules dans une autre feuilles avec conditions

Bonjour Izydore, excfl,

Dans le code de la feuille Planning :

Code:
Option Compare Text 'la casse est ignorée

Private Sub Worksheet_Activate()
Dim tablo, c As Range, h%, mem, t(), txt$, n%, i&
With Sheets("T1")
  tablo = .Range("B20", .Range("K" & .Rows.Count).End(xlUp))
End With
For Each c In Range("B5", Range("B" & Rows.Count).End(xlUp))
  If c <> "" Then
    h = c.MergeArea.Count
    mem = c(1, 4).Resize(h, 2).Formula 'mémorise
    ReDim t(1 To h, 1 To 6)
    txt = c
    n = 0
    For i = 1 To UBound(tablo)
      If tablo(i, 2) = "J" And tablo(i, 10) = txt Then
        n = n + 1
        If n > h Then Exit For
        t(n, 1) = tablo(i, 1)
        t(n, 4) = tablo(i, 5)
        t(n, 5) = tablo(i, 7)
        t(n, 6) = tablo(i, 8)
      End If
    Next
    c(1, 3).Resize(h, 6) = t
    c(1, 4).Resize(h, 2) = mem
  End If
Next
End Sub
La macro s'exécute quand la feuille est activée.

Plusieurs lignes peuvent être copiées pour chaque cellule fusionnée de la colonne B.

Si l'on efface les "J" les cellules sont effacées.

Fichier joint.

A+
 

Pièces jointes

  • Test travaux(1).xlsm
    194.9 KB · Affichages: 67

Izydore

XLDnaute Nouveau
Re : copier coller certaines cellules dans une autre feuilles avec conditions

Super Job75, tu est trop fort pour moi, c'est exactement ce que je cherche, je débute en vba et le code est compliqué pour moi.
Je cherche maintenant à faire la même chose cad copier coller si je met un J dans la colonne O de cette même feuille T1 et le copier dans la feuille "planning". je veux que cette macro fonctionne sur plusieurs feuille T1,T2....T5.
J'ai essayé de modifier le code :
Code:
Private Sub Worksheet_Activate()
Dim tablo, c As Range, h%, mem, t(), txt$, n%, i&
With Sheets(Array("T1", "T2"))
  tablo = .Range("B20", .Range("K" & .Rows.Count).End(xlUp))"
mais le code bloque sur la ligne tablo = 
je continue de chercher mais je veux bien de l'aide.
merci.
 

job75

XLDnaute Barbatruc
Re : copier coller certaines cellules dans une autre feuilles avec conditions

Re,

Pour alléger le code, utilisation de la macro Copie qui est paramétrée :

Code:
Option Compare Text 'la casse est ignorée

Private Sub Worksheet_Activate()
Dim c As Range, h%, mem, t(), txt$, n%, w As Worksheet, tablo
For Each c In Range("B5", Range("B" & Rows.Count).End(xlUp))
  If c <> "" Then
    h = c.MergeArea.Count
    mem = c(1, 4).Resize(h, 2).Formula 'mémorise
    ReDim t(1 To h, 1 To 6)
    txt = c
    n = 0
    For Each w In Worksheets
      If w.Name Like "T#*" Then
        tablo = w.Range("B20", w.Range("K" & w.Rows.Count).End(xlUp))
        Call Copie(h, t, txt, n, tablo)
        tablo = w.Range("N20", w.Range("W" & w.Rows.Count).End(xlUp))
        Call Copie(h, t, txt, n, tablo)
      End If
    Next
    c(1, 3).Resize(h, 6) = t
    c(1, 4).Resize(h, 2) = mem
  End If
Next
End Sub

Sub Copie(h%, t, txt$, n%, tablo)
Dim i&
For i = 1 To UBound(tablo)
  If tablo(i, 2) = "J" And tablo(i, 10) = txt Then
    n = n + 1
    If n > h Then Exit For
    t(n, 1) = tablo(i, 1)
    t(n, 4) = tablo(i, 5)
    t(n, 5) = tablo(i, 7)
    t(n, 6) = tablo(i, 8)
  End If
Next
End Sub
Fichier (2).

A+
 

Pièces jointes

  • Test travaux(2).xlsm
    195.6 KB · Affichages: 62

Izydore

XLDnaute Nouveau
Re : copier coller certaines cellules dans une autre feuilles avec conditions

Super Job75, le code fonctionne.
J'ai rajouter des mfc sur ma feuille planning.
Lorsque je supprime le J dans ma feuille T1 cela supprime bien la ligne copié mais il reste mais mfc en colonne C et E.
Est il possible lors de la suppression du J de la feuille T1 ou autres de supprimer toutes écritures entre les colonnes C et J.
Encore merci pour ce que tu fais.
A+
 

Pièces jointes

  • Test travaux.xlsm
    194.1 KB · Affichages: 85
  • Test travaux.xlsm
    194.1 KB · Affichages: 95
  • Test travaux.xlsm
    194.1 KB · Affichages: 101

job75

XLDnaute Barbatruc
Re : copier coller certaines cellules dans une autre feuilles avec conditions

Re,

J'ai rajouter des mfc sur ma feuille planning.
Lorsque je supprime le J dans ma feuille T1 cela supprime bien la ligne copié mais il reste mais mfc en colonne C et E.

Apparemment vous avez créé ces MFC et entré les données manuellement.

Alors supprimez-les manuellement aussi.

Edit : en toute logique (s'il y a une logique) vous devez mettre des formules dans les colonnes C et E.

A+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 070
Membres
104 019
dernier inscrit
BenKmc