XL 2021 reporter des données entre plusieurs feuilles sans décalage de lignes dans les tableaux

JSS

XLDnaute Nouveau
Bonjour,
J'ai un problème dans le tableau excel que j'ai créé.
J'ai trois feuilles:
- La feuille 1 est une liste générale de suivi de dossiers clients. Il y a, entres autres, une colonne (B) où l'on saisit le nom du client, une colonne (C) où l'on saisit le prénom du client, et une colonne (J) avec un menu déroulant qui permet de sélectionner le type de dossier (xxx,yyy,zzz).
- La feuille 2 : cette liste doit reprendre le nom (colonne B) et le prénom des clients (colonne "C) de la feuille 1, mais seulement les clients qui ont en colonne "J" le type de dossier yyy.
- La feuille 3 : ide M = cette liste doit reprendre le nom (colonne B) et le prénom des clients (colonne "C) de la feuille 1, mais seulement les clients qui ont en colonne "J" le type de dossier yyy.

Mon problème est le suivant : si dans la feuille 2 ou la feuille 3 je veux rajouter une ligne pour entrer un nom manuellement, les deux premières colonnes toutes les lignes se décalent, puisque j'ai saisi les autres colonnes lignes manuellement.

Cela donne :
ligne 1 : Dupont / Pierre / sfaeékf / safasedf
ligne 3 : Smith / Peter / dsafadsfva / afsfsdfas

Si j'ajoute une ligne
Ligne 1 : / / sfaeékf / safasedf
Ligne 2 : Dupont / Pierre / dsafadsfva / afsfsdfas

Je ne sais pas comment lier les feuilles entres elles pour éviter ce problème. Peut-être par une macro?

J'espère avoir été claire dans mes explications et vous remercie pour votre aide!
 

JSS

XLDnaute Nouveau
Bonjour,

Merci pour votre réponse malgré tout !

Je joins un fichier en espérant que cela aidera à la compréhension.

J’ai donc créé trois feuilles : « Général », « Détails cas révision », « Suivi cas révision ».

Dans la feuille « Général », je vais renseigner moi-même toutes les cellules. En colonne B, j’entre le nom du client et en colonne C, son prénom. En colonne J, je vais entrer les types de cas. L’un des types de cas de mon menu déroulant est « révision ».

J’aimerais ensuite que la feuille « détails cas révision » et que la feuille « suivi cas révision » reprennent en colonne A le nom du client et en colonne B le prénom du client saisit dans la feuille « général », mais uniquement les noms et prénoms des clients pour lesquels j’avais indiqué en colonne J « révision ».

J’aimerais également que si j’ajoute ensuite des lignes dans les feuilles « Détails cas révision » et « Suivi cas révision » au milieu des lignes déjà reportées, cela ne décale pas tout. Les tests de formules que j’ai faites faisaient que les valeurs ensuite saisies dans les colonnes suivantes se décalaient.

Est-ce que c’est plus clair ainsi ?

Merci pour votre aide !
 

Pièces jointes

  • Classeur1.xlsx
    26.3 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonjour JSS,

Bon je suppose que votre histoire de décalage était due à des formules, je ne m'en occupe pas.

Voici une solution VBA avec cette macro dans le code des 2ème et 3ème feuilles :
VB:
Private Sub Worksheet_Activate()
Dim lig&
With Sheets("Général").[A1].CurrentRegion
    .AutoFilter 10, "Révision*" 'filtre automatique
    .Columns(2).Resize(, 2).SpecialCells(xlCellTypeVisible).Copy 'copier
    Application.ScreenUpdating = False
    With ListObjects(1).Range 'tableau structuré
        lig = IIf(.Cells(2, 1) = "", 2, .Rows.Count + 1) 'ligne de destination
        .Cells(lig, 1).PasteSpecial xlPasteValues 'collage spécial valeurs
        Range(.Cells(1), Selection).RemoveDuplicates Array(1, 2), Header:=xlNo 'supprime les doublons
        .Cells(1).Select
        ListObjects(1).Range.Sort .Cells(1), xlAscending, .Cells(1, 2), , xlAscending, Header:=xlYes 'tri sur les noms et prénoms
    End With
    .AutoFilter 10 'ôte le filtre
End With
End Sub
Edit : Header:=xlNo

Elle se déclenche automatiquement quand on active la feuille.

A+
 

Pièces jointes

  • Classeur(1).xlsm
    33.5 KB · Affichages: 3
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 818
Messages
2 092 375
Membres
105 381
dernier inscrit
stephan57