Lier certaines données de deux feuilles
Résolu
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-
-
@Hocine.DanyLa 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 -
@danielc0Bonjour,
Excuse-moi du retard.
Merci cependant pour ce macro, alors je l'applique à mon excel et j'accorde le numéro de la colonne etc, mais ca ne fonctionne pas, est-ce que c'est parce que la colonne dans laquelle j'indique "vu" & non vu" est un menu déroulant ?
Merci encore -
-
@Hocine.DanyVoici 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
-