ajouter automatiquement une ligne dans une autre feuille

  • Initiateur de la discussion Initiateur de la discussion achkar
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

achkar

Guest
Bonjour à tous.
Voici mon probleme:

J'ai trois feuilles 1 et 2 et 3 avec les champs Nom, Prenom par exemple.
Je voudrais copier les valeurs des feuilles 2 et 3 dans la feuille 1. Et si je fais une autre manipulation sur l’une des deux ( 2 et 3 ), je voudrais que les nouvelles valeurs s'ajoutent automatiquement ( sans mettre un boutton quelque part ) dans la feuille 1 sur la ligne suivante (ligne vide). Comment faire pour pouvoir ajouter cette nouvelle ligne automatiquement et que les valeurs s'y inscrivent

J’ai déjà trouvé un code, mais le problème, c’est que les lignes de la feuille 2 s’ajoutent dans la feuille 1 autant de fois que je clique sur l’onglet Feuille 2 puis sur l’onglet Feuille 3. Autrement dit, elles ne s’ajoutent pas une seule fois. Comment faire pour éviter cela ?
Merci

Bonne journée
 

Pièces jointes

Re : ajouter automatiquement une ligne dans une autre feuille

Bonjour,

ce code (à placer dans ThisWorkbook) ajoute la ligne saisie des feuilles 2 ou 3 si le nom et le prénom sont renseignés (évite les doublons):

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ShDest As Worksheet
If (Sh.Name = "Feuil2" Or Sh.Name = "Feuil3") And Sh.Range("A" & Target.Row) <> "" _
    And Sh.Range("B" & Target.Row) <> "" [COLOR=Blue][B]And (Target.Column = 1 Or Target.Column = 2)[/B][/COLOR] Then
  Set ShDest = Sheets("Feuil1")
  With ShDest
    i = .Cells(22, 1).End(xlUp).Row
    Sh.Range("A" & Target.Row & ":B" & Target.Row).Copy .Range("A" & i + 1)
    .Range("A1").CurrentRegion.Sort Key1:=.Range("A1:B1"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  End With
End If
End Sub
Cela suppose une liste existante dans la feuille 1.
NB: Pense à d'abord supprimer le code se trouvant dans la feuille 1.

Edit: ajout en bleu
 
Dernière édition:
Re : ajouter automatiquement une ligne dans une autre feuille

Bonjour,

ce code (à placer dans ThisWorkbook) ajoute la ligne saisie des feuilles 2 ou 3 si le nom et le prénom sont renseignés (évite les doublons):

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ShDest As Worksheet
If (Sh.Name = "Feuil2" Or Sh.Name = "Feuil3") And Sh.Range("A" & Target.Row) <> "" _
    And Sh.Range("B" & Target.Row) <> "" [COLOR=Blue][B]And (Target.Column = 1 Or Target.Column = 2)[/B][/COLOR] Then
  Set ShDest = Sheets("Feuil1")
  With ShDest
    i = .Cells(22, 1).End(xlUp).Row
    Sh.Range("A" & Target.Row & ":B" & Target.Row).Copy .Range("A" & i + 1)
    .Range("A1").CurrentRegion.Sort Key1:=.Range("A1:B1"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  End With
End If
End Sub
Cela suppose une liste existante dans la feuille 1.
NB: Pense à d'abord supprimer le code se trouvant dans la feuille 1.

Edit: ajout en bleu

Bonjour SKOOBI et merci d'essayer de m'aider
mais ça ne semble pas fonctionner (chez moi en tout cas).
j’ai mis le code dans « ThisWorkbook » et j’ai supprimé le code de la feuille 1 mais il y n’a rien qui change 😕
 
Re : ajouter automatiquement une ligne dans une autre feuille

Bonjour,

est-ce que les feuilles 2 et 3 ont bien comme nom Feuil2 et Feuil3 ?
Si non, il faut adapter les noms dans le code:

.........
If (Sh.Name = "Feuil2" Or Sh.Name = "Feuil3") And Sh.Range(".......
.............
 
Re : ajouter automatiquement une ligne dans une autre feuille

oui ils ont bien comme nom Feuil2 et Feuil3 😕
et si vous pouvez voir j'ai laisser avec mon message un fichier attachés

merci 🙂
 
Re : ajouter automatiquement une ligne dans une autre feuille

Tout d'abord, un grand merci pour ton aide 🙂. Effectivement ton code marche très bien. Je n'ai pas compris pourquoi mon code n'a pas marché sachant que j'ai mis le meme code que toi ! ce n'est pas grave l'essentiel c'est qu'il marche 😀.

Maintenant je voudrais savoir comment on fait pour :

- Quand on modifie la colonne "C" ou "D" dans la feuille 2 et/ou 3, cette modification s'effectue automatiquement dans la feuille 1.

- Quand on supprime une ligne de la feuille 2 et/ou 3 elle s'efface automatiquement de la feuille 1.

- Quand une ligne de la feuille 2 ou 3 se copie dans la feuille 1, le contenu de la cellule de la colonne B de cette ligne prend le nom de la feuille dont elle est extraite ( par exemple: si la ligne de la feuille 3 se copie dans la feuille 1, alors la cellule de la colonne B dans la feuille 1 contiendra "Feuille 3").

Merci infiniment d'avance
 
Re : ajouter automatiquement une ligne dans une autre feuille

Bonjour,
Quand on modifie la colonne "C" ou "D" dans la feuille 2 et/ou 3, cette modification s'effectue automatiquement dans la feuille 1.

J'en conclus que tu as déplacé les noms et prénoms en colonne C et D, c'est ce que me dis ma boule de cristal.....😀, c'est juste?
Quand une ligne de la feuille 2 ou 3 se copie dans la feuille 1
Tu copies toute la ligne ou uniquement de la colonne A à D?

Bonne journée.
 
Re : ajouter automatiquement une ligne dans une autre feuille

Bonjour Skoobi,

Non non non pas du tout, je viens d'ajouter les colonnes C et D, donc je ne sais vraiment pas pourquoi ça ne marchait pas avant 😕.

Je copie uniquement la plage de A à D (A, B, C et D)

Merci
Bonne journée.
 
Re : ajouter automatiquement une ligne dans une autre feuille

Re,

Encore 2 questions:
1- quand tu modifie la colonne C ou D, est-ce que A et B contiennent toujours quelque chose?
2- quand il faut ajouter dans la feuille 1, les 4 cellules de la ligne correspondante sont toutes non vides ou 1 ou plusieurs peuvent être vides?
 
Re : ajouter automatiquement une ligne dans une autre feuille

Re bonjour,

- Quand on modifie la colonne "C" et/ou "D" dans la feuille 2 et/ou 3, cette modification s'effectue automatiquement dans la feuille 1 sur la même colonne bien sur, et la colonne "A" et/ou "B" contiennent toujours la même chose.

- Quand il faut ajouter dans la feuille 1, les 4 cellules de la ligne correspondante sont toutes remplies et rin qui vide.

merci
@+
 
Re : ajouter automatiquement une ligne dans une autre feuille

Bonjour Skoobi, 🙂

Merci et Bravo pour ce que ta déja fait, car pour moi c'est des truc impossible

Je pense que je me suis mal éxprimé : voir le fichier attaché


merci encore

@+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
288
Retour