Copier/coller ligne excel sur autre feuille sous condition

Signaler
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020
-
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020
-
Bonjour à tous,

Pour les besoins d'un projet, je suis sur la création d'un fichier de suivi qui se veut "simple", mais je bloque sur la macro que je tente de mettre en place vainement ...

Mon fichier excel se compose de 4 feuilles "Dashboard général", "Louis", "Manon", "Henri".

Sur les feuilles de chaque personne, il y a la possibilité dans la colonne A et B de taguer sa ligne avec son nom et celui de la (les 2) personnes portant le projet.

Je souhaiterais alors que, lorsque la personne 1 tag son nom sur sa fiche, la ligne entière soit copiée et collée dans le dashboard général et que en cas de modification, cela soit pris en compte.

J'ai un fichier test mais je ne sais pas si j'ai la possibilité de le partager sur cet espace.

Pouvez-vous m'aider ?

Belle journée à vous

8 réponses

Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361
Bonjour,

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : http://cjoint.com
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...

ou
'mon partage
https://mon-partage.fr/
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020

Bonjour,

Merci pour votre retour et ces précisions.

Voici le fichier "test" qui retranscrit mes dires : https://www.cjoint.com/c/JGDt50Gst4M

Un grand merci pour votre aide !
Bonjour,

Je me permets une petite relance sur cette conversation n'ayant pas pu trouver ma réponses ...

Un grand merci d'avance !
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361
Bonjour,

Lien plus dispo, veillez remettre votre fichier a dispo
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361 >
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020

Bonjour,

Desole, j'avais telecharge le fichier, mais vous ais un peu oublie....
Je regarde la chose

Suite:
Pas de modif dans Dashboard général, seulement dans les feuilles Nom.

Suite:

Pourquoi dans les feuilles nom, colonne A ce n'est pas toujours le nom de la personne du nom de la feuille?
Va pas etre facile a tester!!!
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361 >
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020

Re,
C'est faisable, mais pas logique votre facon de faire
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020

Bonjour,

Un grand merci pour votre retour et vraiment navré pour mon temps de réponse.

Pour répondre à votre question :

Pourquoi dans les feuilles nom, colonne A ce n'est pas toujours le nom de la personne du nom de la feuille? --> initialement je souhaitais que les feuilles de chaque personne communiquent entre elles, donc qu'à partir du moment où cette personne était mentionnée, cela copiait la ligne en l'état.

Néanmoins il est possible, dans chaque fiche personnelle, de laisser le nom de son détenteur en colonne A et que, à partir du moment où A3 est mentionné avec le nom, la ligne entière se colle automatiquement sur le dashboard.

Pour l'heure je n'ai réussi à faire qu'un copier/coller fonctionnant manuellement sous macro avec la problématique que je n'ai pas pu indiquer que la copie se fasse sur les ligne vierge disponible sur le dashboard général.

Cela est-il possible ?

Merci !!
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361
Bonjour,

Fichier modifie, avec un bouton de validation dans chaque feuille car pas de moyen de detection pour copier

https://mon-partage.fr/f/7oE1I0oV/

Le mot de passe protection feuille Dashbord general: votre Pseudo
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020
>
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020

Bonjour,

Encore une fois pour mes questions mais je souhaiterais éventuellement réaliser deux actions.

1. Je ne vois pas comment augmenter le nombre de lignes concernées par le transfert vers le dashboard général. Est ce que je dois préciser la ligne après Z dans

With Worksheets("Dashboard général")
LF = Split(.UsedRange.Address, "$")(4)
.Range("A3:Z" & LF).ClearContents

2. Est-il possible d'exclure des feuilles du transfert de données vers le dashboard général ?

Un grand merci d'avance !
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361 >
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020

Bonjour,

Avec ce code vous n'aurez qu'a mettre la ou les lettres de la derniere colonne
Nom de feuille supprime

Sub Transfert_Donnees()
    Dim wsh As Worksheet
    Dim Plage As Range
    
    Const ColF = "Z"    'derniere colonne
    
    CV = Range(Split(Cells(1, ColF).Address, "$")(1) & 1).Column   'nombre de cellules vides a tester
    
    On Error Resume Next
    Application.ScreenUpdating = False
    With Worksheets("Dashboard général")
        LF = Split(.UsedRange.Address, "$")(4)
        .Range("A3:" & ColF & LF).ClearContents
        For Each wsh In Worksheets
            If wsh.Name <> "Dashboard général" And wsh.Name <> "Feuil1" Then
                With wsh
                    AdrP = .UsedRange.Address
                    Set Plage = .Range(AdrP)
                End With
                Lig = 1
                Do
                    Lig = Lig + 1
                    NCV = Application.CountIf(Plage.Range("A" & Lig & ":" & ColF & Lig), "")
                Loop Until NCV = CV
                If Lig - 1 <> 2 Then
                    If Lig - 1 <> 3 Then
                        LigR = Lig - 4
                        Lig = Lig - 1
                    Else
                        LigR = 1
                    End If
                    LigD = 2
                    Do
                        LigD = LigD + 1
                        NCV = Application.CountIf(.Range("A" & LigD & ":" & ColF & LigD), "")
                    Loop Until NCV = CV
                    .Range("A" & LigD).Resize(LigR, CV) = wsh.Range("A3:" & ColF & Lig - 1).Value
                Else
                    LigD = 2
                    Do
                        LigD = LigD + 1
                        NCV = Application.CountIf(.Range("A" & LigD & ":" & ColF & LigD), "")
                    Loop Until NCV = CV
                    .Range("A" & LigD).Resize(LigR, CV) = wsh.Range("A3:" & ColF & Lig - 1).Value
                End If
                Set Plage = Nothing
            End If
        Next
    End With
    ThisWorkbook.Save
    Application.ScreenUpdating = True
End Sub
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020
>
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020

Bonjour,

Vraiment navré, je n'avais pas vu votre retour sur le sujet ... Un grand merci !

Je reviens vers vous car je n'ai pas vraiment compris la ligne "CV = Range(Split(Cells(1, ColF).Address, "$")(1) & 1).Column 'nombre de cellules vides a tester"

Elle concerne bien le nom de ligne concernée par le transfert ? Mais je vous avoue qu'en terme de modification, je ne vois pas trop. Admettons que je souhaite faire le transfert de la ligne 3 à la ligne 53, qu'elle serait les chiffres à modifier ?

Belle journée à vous,
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361 >
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020

Bonjour,

Admettons que je souhaite faire le transfert de la ligne 3 à la ligne 53,
Vous avez demande le trsf d'un nombre de lignes variable et maintenant vous voulez un nombre de lignes fixes!
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020
>
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020

En vérité, le principe même est parfait car toutes les lignes à partir de la ligne 3 sont transférées, mais à chaque fois j'ai l'impression que la dernière ligne n'est pas prise en compte dans le transfert et en creusant je n'arrivais pas trop à comprendre.

C'était bien entendu juste un exemple pour illustrer mais la problématique actuel de la méthode sous variable me convient parfaitement
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020

Bonjour,

Un grand merci, je vais regarder ça et je vous tiens au courant.

Belle journée à vous
Messages postés
15349
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 septembre 2020
1 361
Re,

Fichier modifie: https://mon-partage.fr/f/PE1jZHgG/

CV = Range(Split(Cells(1, ColF).Address, "$")(1) & 1).Column 'nombre de cellules vides a tester"

Nombre de cellules vides a tester pour avoir la derniere ligne a copier en fonction de la derniere colonne utilisee
Messages postés
12
Date d'inscription
lundi 27 juillet 2020
Statut
Membre
Dernière intervention
18 septembre 2020

Bonjour,

C'est parfait je vous remercie !

Un grand merci aussi pour votre patience !

Belle journée,