Lier certaines données de deux feuilles
Résolu
Hocine.Dany
Messages postés
84
Statut
Membre
-
danielc0 Messages postés 2182 Date d'inscription Statut Membre Dernière intervention -
danielc0 Messages postés 2182 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai récemment demandé une aide sur comment lister un certain nombre de films avec une option qui me permet de cocher les films "vus" et "non vus" dans un Tableur Excel
Désormais j'ai une liste avec
Colonne A2:A405 : Les noms de films
Colonne C2:C405 : Vu / Non Vu
Ce que j'aimerai faire c'est d'automatiquement Déplacer la Cellule à laquelle j'assigne "Vu" vers une autre feuille Excel
Est-ce possible ?
Merci d'avance à tous
J'ai récemment demandé une aide sur comment lister un certain nombre de films avec une option qui me permet de cocher les films "vus" et "non vus" dans un Tableur Excel
Désormais j'ai une liste avec
Colonne A2:A405 : Les noms de films
Colonne C2:C405 : Vu / Non Vu
Ce que j'aimerai faire c'est d'automatiquement Déplacer la Cellule à laquelle j'assigne "Vu" vers une autre feuille Excel
Est-ce possible ?
Merci d'avance à tous
1 réponse
-
Bonjour,
C'est possible avec une macro, pas avec une formule. Es-tu partant ?
Cordialement.
Daniel-
- La macro est la suivante :
Private Sub Worksheet_Change(ByVal Target As Range) Dim C As Range If Intersect(Target, [C:C]) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub For Each C In Intersect(Target, [C:C]) If C.Column = 3 Then Application.EnableEvents = False If UCase(C) = "LU" Then Cells(C.Row, 1).Copy Sheets("Lus").Cells(Rows.Count, 1).End(xlUp).Offset(1) Rows(C.Row).Delete End If Application.EnableEvents = True End If Next C End Sub
Remplace "Lus par le nom de la feuille où l'on colle les films lus. Pour trouver la macro, fais un clic droit sur l'onglet de "Feuil1" et clique sur "Visualiser le code"
Voici le classeur :
https://mon-partage.fr/f/dvOctxuK/
Daniel
-
- Voici le code modifié :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'défintion du champ: N° de colonne et Ligne > avant la 1° et ligne < après la dernière If Target.Column = 3 And Target.Row > 2 And Target.Row < 1001 Then ActiveCell.Value = "Vu" End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim C As Range If Intersect(Target, [C:C]) Is Nothing Then Exit Sub If Target.Count > 1 Then Exit Sub For Each C In Intersect(Target, [C:C]) If C.Column = 3 Then Application.EnableEvents = False If UCase(C) = "VU" Then Cells(C.Row, 1).Copy Sheets("Vus").Cells(Rows.Count, 1).End(xlUp).Offset(1) Rows(C.Row).Delete End If Application.EnableEvents = True End If Next C End Sub
Daniel
-