Autres Copier des lignes dans différents onglets en fonction de la valeur de différentes cellules

SPARKLETOF

XLDnaute Junior
Bonjour,

Je viens vers vous car je n’arrive pas à faire ce que je veux malgré mes recherches. .

Mon document Excel (que je joint), se compose comme suit :

un onglet « 2023 » regroupant mes données et de 5 onglets portant le nom d’une cellule donnée dans « 2023 ». Param1 (correspondant à la cellule E1 de « 2023 »), Param2
(correspondant à la cellule F1 de « 2023 »), etc…

J’aimerais que la ligne soit copiée si "OUI" est indiqué de la colonne Param1 dans l’onglet "Param1 », si "OUI" est indiqué dans la colonne Param2 dans l’onglet "Param1" et ainsi de suite pour les onglets définis.

De plus, j’aimerais que cela se produise lorsque l’on clique sur le bouton "Valider" que j’ai inséré dans l’onglet "2023".

Petite info, je suis à mon taff sur Excel 2007...........

Un grand merci par avance

Spark
 

Pièces jointes

  • Test enregistrement.zip
    159.5 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour SPARKLETOF,
Comme vous utilisez déjà Worksheet_SelectionChange, j'ai rajouté Worksheet_SelectionChange.
Quand on change pour mettre un OUI on tranfert automatiquement la ligne dans le bon onglet, avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E4:I1000")) Is Nothing Then
        Dim lig%, DL%, F
        Application.ScreenUpdating = False
        If Target = "OUI" Then
            lig = Target.Row
            F = Cells(1, Target.Column) ' Nom de la feuille
            DL = 1 + Sheets(F).[A65500].End(xlUp).Row
            Sheets(F).Range("A" & DL & ":D" & DL) = Range("A" & lig & ":D" & lig).Value
        End If
    End If
Fin:
Application.ScreenUpdating = True
End Sub
 

Pièces jointes

  • Test enregistrement.zip
    153.9 KB · Affichages: 6

vgendron

XLDnaute Barbatruc
Hello

Voir en PJ

1) les données sont mises dans des tables structurées (avec des noms tels que "Tab_Param1, Tab_Param2....Tab_Clients, Tab_Choix....)

2) ensuite, on utilise ces noms dans le code pour remplir ce qu'il faut
je te laisse aller voir le code et les commentaires
 

Pièces jointes

  • Test enregistrement.xlsm
    36.9 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
je peux me contenter d'effacer la ligne
J'ai pris le parti de supprimer la ligne, non de l'effacer. Sinon, dites et je ferais la modif.
Un essai en PJ.
C'est plus complexe car il faut chercher la bonne date mais ensuite par sécurité vérifier que tous les champs sont bien identiques avant de supprimer la ligne.
 

Pièces jointes

  • Test enregistrement (V2).zip
    150.2 KB · Affichages: 5

SPARKLETOF

XLDnaute Junior
@sylvanu ,
dernière petite question... si je veux ajouter un onglet comment je dois pour que la macro fonction ?
J'ai essayé mais cela fonctionne pas !
Je n'arrive pas à voir comment cela est défini dans la macro que tu as créé.
Merci

EDIT : je viens de trouver.....j'ai manqué de discernement ;)
 
Dernière édition:

SPARKLETOF

XLDnaute Junior
@sylvanu ,
j'ai une petite requête supplémentaire....😋
Dans mon tableau j'ai 2 colonnes "caract1" et "caract2". j'aimerais que lorsque c'est oui, les lignes s'ajoutent dans un onglet portant le nom de "caract" ?
Je te joins le doc avec ce que j'aimerais...
Merci par avance.
Spark
 

Pièces jointes

  • Test enregistrement (V2).zip
    163.4 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
En PJ, la feuil Caract est la compilation des deux feuilles Caract1 et Caract2. Avec :
VB:
Sub RemplitPageCaract()
    Dim T1, T2, DL%
    Application.ScreenUpdating = False
    T1 = Sheets("caract1").Range("A3:D" & Sheets("caract1").[A65500].End(xlUp).Row)
    T2 = Sheets("caract2").Range("A3:D" & Sheets("caract2").[A65500].End(xlUp).Row)
    With Sheets("Caract")
        .[A3:D65000].ClearContents
        .Range("A3").Resize(UBound(T1, 1), UBound(T1, 2)) = T1
        DL = 1 + .[A65500].End(xlUp).Row
        .Range("A" & DL).Resize(UBound(T2, 1), UBound(T2, 2)) = T2
    End With
End Sub
 

Pièces jointes

  • Test enregistrement (V3).zip
    153 KB · Affichages: 1

SPARKLETOF

XLDnaute Junior
@sylvanu

Merci !!!
Est-il possible d'ajouter dans commentaire de la feuille caract, le commentaire se trouvant dans chaque feuille ? En gros pour caract1, il faudrait dans la feuille caract au niveau du commentaire cela compile "caract1", un espace et le commentaire. Par exemple "caract1 ras"...
🤪🤪🤪🤪
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972