Reproduire une liste dans une autre feuille et qui se mette a jour directement

JuniorExcel

XLDnaute Nouveau
Bonjour a vous,

Voici ce que j essaie de faire mais je n y arrive pas alors je vous demande votre aide... je ne pense pas que ça doit etre difficile a faire:

J ai une liste d éléments sur la feuille 1 que je mettrai a jour a la main, j aimerai que cette liste soit reproduite automatiquement dans la feuille 2 et qu elle se mette a jour automatiquement si j ai changé celle de la permiere feuille.

Ce que j ai fait c est evidemment de faire un coper-coller avec liaison mais la longueur de la liste n est pas variable, c est a dire si je change a un element par un autre alors ça se met bien a jour mais si je rajoute a element ça ne le rajoutera pas et si je fais un copier-coller de toute la colonne, des 0 apparaissent aux endroits ou il y a rien.. ce qui nest pas tres joli...

Sinon je pourrais passer par le VBA avec un code qui checkerais tous les elements de la colonne de la feuille 1 et recopierais les elements de celle-ci jusqu'a ce qu il n y ait plus rien dans les cellules. Mais s il existe qqch sans passer par le VBA ça serait cool....

Je vous mets en PJ l exemple

Help please .....:(
 
Dernière édition:

Dull

XLDnaute Barbatruc
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Salut JuniorExcel, le Forum

...des 0 apparaissent aux endroits ou il y a rien.. ce qui nest pas tres joli...
Avec la simple formule

Code:
=SI(Feuil1!A1="";"";Feuil1!A1)
ou

Code:
=SI(INDIRECT("Feuil1!A"&LIGNE())="";"";INDIRECT("Feuil1!A"&LIGNE()))
ça devrait le faire ;)

Par VBA c'est aussi possible mais il faudrait plus de renseignements sur la structure de ton fichier (ligne continue, colonne continue, autres...)

Bonne Journée
 

JuniorExcel

XLDnaute Nouveau
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Cher Dull,

Merci pour votre réponse :), en faite j avais pensé faire ça seulement je voulais automatiser un maximum et le probleme c'est qu avec cette methode j'ecris cette function dans la permiere cellule et apres je dois tirer sur le reste de la colonne mais j aurai peut etre 10'000 cellule je sais pas ... alors savez-vous comment je pourrais appliquer la fonction "si..." directement sur tout la colonne sans devoir tirer jusqua perpette :p?

Je sais pas si c est clair...:rolleyes:
et si y a pas de moyen alors je choisirai une borne sup et je tirereai une fois pour toute jusqu a x cellule...


Merci Roger2327 pour votre réponse mais j ai pas encore tout compris a ce que vous faisiez dans votre fichier xls ...
 

ROGER2327

XLDnaute Barbatruc
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Re...
Voyez si l'essai joint vous convient mieux.
ROGER2327
#4475


Jeudi 5 As 138 (Saint Van Meegeren, faussaire, SQ)
17 Brumaire An CCXIX
2010-W44-7T18:38:52Z
 

Pièces jointes

  • Temp.xls
    18 KB · Affichages: 127
  • Temp.xls
    18 KB · Affichages: 136
  • Temp.xls
    18 KB · Affichages: 134

JuniorExcel

XLDnaute Nouveau
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Merci ROGER 3237, ceci me convient bien.

Je suis gêné mais je suis tres debutant avec les macro ... celle dans la feuille 1 s'appelle "Worksheet_Change"?

Ce que j ai fait c est que sur un nouvel xls j ai cree une liste sur la permiere feuille et j aimerai executer la macro de la feuille 1 du fichier Temp.xls mais je n y arrive pas.. comment dois-je faire?

desole de vous embeter avec ça mais si vous avez 2 minutes je veux bien une toute petite explication s il vous plait... merci ...
 

ROGER2327

XLDnaute Barbatruc
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Re...
Ce code
Code:
[B][COLOR=DarkSlateGray]Private Sub Worksheet_Change(ByVal Target As Range)
  With Sheets("[COLOR=Red]Feuil3[/COLOR]")
    On Error Resume Next: .Range("LISTE").ClearContents: On Error GoTo 0
    Columns(1).Resize(Rows.Count - 1, 1).Offset(1, 0).Copy Destination:=.Range("LISTE_REF").Offset(1, 0)
  End With
End Sub[/COLOR][/B]
doit être placé dans le module de la feuille où vous saisissez les données.
Remplacez "Feuil3" par le nom de la feuille où les données doivent être recopiées.
Bon courage.

ROGER2327
#4478


Jeudi 5 As 138 (Saint Van Meegeren, faussaire, SQ)
17 Brumaire An CCXIX
2010-W44-7T22:41:55Z
 

ROGER2327

XLDnaute Barbatruc
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Suite...
J'ai oublié de préciser qu'il faut aussi créer les plages nommées LISTE et LISTE_REF dans la feuille de saisie des données, ainsi que la constante LNG (nombre maximum de lignes à traiter : j'avais mis 10000 dans mon classeur ; on peut mettre plus ou moins selon les besoins, dans la limite du nombre de lignes de la feuille).
ROGER2327
#4479


Jeudi 5 As 138 (Saint Van Meegeren, faussaire, SQ)
17 Brumaire An CCXIX
2010-W44-7T22:52:15Z
 

JuniorExcel

XLDnaute Nouveau
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Bonjour Roger et bonjour a tous,

J ai modifier le code VBA pour que je puisse copier les valeurs car avec ce code je copie les formules, voila ce que j ai fait:

Worksheet_SelectionChange(ByVal Target As Excel.Range)
With Sheets("Feuil3")
On Error Resume Next: .Range("LISTE").ClearContents: On Error GoTo 0
(2).Resize(Rows.Count - 1, 2).Offset(0, 0).Copy
.Range("LISTE_REF").Offset(1, 0).PasteSpecial Paste:=xlPasteValues
End With
End Sub


Ça marche mais il y a un bug.. Ça ma copie pas seulement la colonne que je voulais comme avant mais ça copie aussi toutes celles qui lui succède.... Vois tu ou voyez vous directement mon erreur?


Je vous remercie
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Re...
Pour pouvoir vous aidez, il faudrait que vous donnassiez votre véritable code, car celui que vous avez écrit ne peut pas fonctionner.
D'autre part, vous disiez :
(…) J ai une liste d éléments sur la feuille 1 que je mettrai a jour a la main, (…)
Il n'était donc pas question de formule, puisqu'une saisie manuelle dans une colonne implique la destruction des éventuelles formules dans la dite colonne. Le mieux serait de donner au moins un extrait de votre classeur réel, ce qui permettrait de comprendre les contraintes réelles qu'il faut respecter.

À vous lire,
ROGER2327
#4501


Dimanche 8 As 138 (Saint Rimbe, Oisif, ST)
20 Brumaire An CCXIX
2010-W45-3T10:30:54Z
 

JuniorExcel

XLDnaute Nouveau
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Je suis désolé, j améliore a chaque fois mon fichier excel et je pensais pas que ça changerait qqch pour le code.. Désolé de ne vous avoir pas prévenu du changement.

Je ne peux malheureusement pas envoyer de fichier excel, j essaie de vous expliquer si vous voulez bien encore m aider et sinon je vous envoie un ex ce soir. Les seules chose qui changent par rapport au fichier excel Temp que vous m aviez envoyer c est que dans la colonne A de la feuille 1 au lieu de Toto, Tata,... ce serait des fonctions cherchant des donnée dans Bloomberg.


Je m excuse encore de n avoir pas été clair da mon précédent message.
Merci...
 

ROGER2327

XLDnaute Barbatruc
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Re...
Parfait !
Mais je n'ai toujours pas compris pourquoi la deuxième procédure que j'ai mise dans le classeur du message #5 ne convient pas pour copier seulement les valeurs, sans les formules. Peut-être ne l'avez-vous pas essayée ?
Pour mémoire, je la recopie ici :
Code:
[COLOR=DarkSlateGray][B][COLOR=Sienna]'Pour ne copier que les valeurs :[/COLOR]
Private Sub Worksheet_Change(ByVal Target As Range)
Dim oPlg
  With Sheets("Feuil3")
    On Error Resume Next: .Range("LISTE").ClearContents: On Error GoTo 0
    Set oPlg = Columns(1).Resize(Rows.Count - 1, 1).Offset(1, 0)
    If Not oPlg Is Nothing Then .Range("LISTE_REF").Offset(1, 0).Resize(oPlg.Rows.Count, 1).Value = oPlg.Value
  End With
End Sub[/B][/COLOR]
ROGER2327
#4502


Dimanche 8 As 138 (Saint Rimbe, Oisif, ST)
20 Brumaire An CCXIX
2010-W45-3T13:22:57Z
 

JuniorExcel

XLDnaute Nouveau
Re : Reproduire une liste dans une autre feuille et qui se mette a jour directement

Oui cette méthode marche aussi! Merci!
Juste 1 dernière question, en résumé je suis capable de copier la liste de la colonne a A de la feuille 1 dans la colonne A de la feuille 3. De la même manière j ai fait un module dans ds la feuille 2 pour copier une autre liste dans
la feuille 3. Le résultat est que j arrive a avoir soit la liste de la feuille 1 ds la colonne A ou la liste de la feuille 2 ds la colonne B mais n'en arrive pas avoir les deux listes remplie l une a coté de l autre en même temps... Pouvez vous m orienter?


Merci...
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 911
Membres
103 404
dernier inscrit
sultan87