Répéter une même cellule dans une autre feuille
Bonjour a tous.
Je vais essayer de m'expliquer clairement...( Excel n'est pas mon dada
Je souhaite répéter le contenu d'une même cellule dans un même fichier excel mais dans une feuille différente.
Par exemple:
A1 Villes: --- B1 populations: --- C1 Moyenne Revenus --- D1 Année
A2 Paris --- B2 2 200 000 --- C2 32 000 € --- D2 2013
A3 Lyon --- B3 720 000 --- C3 28 000€ --- D3 2013
A4 Marseille --- B4 1 500 000 --- C4 25 000€ --- D4 2013
A5 Paris --- B5 2 180 000 --- C5 31 000 € --- D5 2011
A6 Lyon --- B6 700 000 --- C6 27 000€ --- D6 2011
A7 Marseille --- B7 1 452 000 --- C7 23 000€ --- D7 2011
Donc a chaque fois que j'écris "Paris" dans la colonne "A" je souhaite que "Paris" s'écrive automatiquement dans un tableau d'une autre feuille. exemple "Feuil1"
Et pareil pour Lyon dans "Feuil2" et Marseille dans "Feuil3"
Et surtout en finalité, le panard serait que chaque fois que j'écris "Paris" cela se répète sur une autre feuille avec toute les valeurs des cellules qui se trouve sur la ligne.
ex: A2 Paris --- B2 2 200 000 --- C2 32 000 € --- D2 2013
A3 Paris --- B3 2 180 000 --- C3 31 000 € --- D3 2011
Je pense que cette manip voir programmation va me pendre une année à la trouvée...si je trouve ou si j'y arrive.
Donc si vous avez une piste une idée alors je vous en remercie d'avance.
Bon dimanche.
Adrien
Salut et bienvenue sur le Forum,
Dans le fichier ci-joint, tu saisis des données sur la feuille « Saisie » et lorsque tu sélectionnes la feuille d’une des villes, elle se réactualise immédiatement. En plus, on pourrait imaginer un tri de la feuille de chacune des villes en fonction de la date ou je ne sais quoi d’autre ; à toi de dire.
Une prochaine fois - ou si je suis complètement à coté de la plaque - merci de joindre ton fichier
Cordialement.
Salut,
Game Over a écrit :Salut Yvouille,
je me permets de t'envoyer ce message pour te demander comment tu as résolu la requête suivante, je ne vois pas comment on peut actualiser instantanément un tableau sans utiliser "=" :
J'ai aussi bossé sur cette demande mais la macro que j'ai écrite est vachement moins "sexy".
Merci d'avance
Tout d’abord merci de rester sur le fil pour la suite de la discussion.
Sans voir ta propre macro, c’est difficile de connaitre ton niveau en VBA et de savoir que t’expliquer en premier ; joins donc ton fichier. Mes tableurs sont actualisés sans le signe "=" justement car ils le sont par la macro mise en place par laquelle je copie des données sur la feuille "Saisie" et que je les colles dans les différentes feuilles des villes.
Autrement, précise quelle partie de la macro tu n’as pas comprises.
Amicalement.
rester sur le fil de la discussion pour en faire profiter toute la communauté... autant pour moi.
ci joint ma macro qui n'actualise le document que lorsqu'on l'exécute et pas instantanément.
Ce que je souhaite savoir :
- pourquoi est ce que je ne vois pas ta macro lorsque je sélectionne l'icone maccro du menu développeur ?
D'ailleurs, ton fichier est un fichier .xls et non xlsm, donc tout portait à penser que tu réalisais cela sans macro.
- D'autre part, comment est ce qu'on peut mettre à jour instantanément un fichier sans ré-exécuter la macro à chaque fois.
Merci.
Re-bonjour,
En l’absence de ton fichier, je t’ai proposé une macro évènementielle afin que tu n’aies pas besoin de te soucier de la déclencher à un certain moment donné. Elle est donc placée non pas dans un module mais sous ThisWorkbook
Toujours en l’absence de ton fichier, j’ai imaginé que tu avais déjà les feuilles des villes préparées. Comme ça ne semble pas être le cas, on pourrait prévoir de contrôler si le rajout d’une feuille est nécessaire ou non en fonction des villes présentes sur ta liste de base.
Comme je dois faire référence à la dernière ligne des feuilles dans le passage .Range("A65536").End(xlUp).Row et que je ne savais pas si travaillais avec un fichier xls ou xlsm, j’ai préféré travailler avec un fichier xls. afin que ma limite de 65536 soit logique et que ce code – même si tu devais l’utiliser par la suite sur un fichier .xlsm - passe quand même. Le contraire (ligne de code .Range("A1048576").End(xlUp).Row) ne passerait pas partout.
Je pense qu’en voyant mon code, tu en comprendras mieux le fonctionnement, sinon reviens à la charge.
Pour ton code, tu pourrais placer Application.ScreenUpdating = False afin qu’il soit un peu plus rapide. Mais tu y effectues quand même beaucoup d’opérations inutiles.
Amicalement.
Merci, il y a quelques principes que j'ignore totalement dans ton script, je vais prendre le temps de mieux les comprendre.
et au besoin, je n'hésiterai pas
Pas de problème, j'ai le temps
A propos, tu es Game Over ou Adrien75 ?
Amicalement.
Yvouille a écrit :A propos, tu es Game Over ou Adrien75 ?
Moi, c'est Game Over... calmé par les autres contributeurs de ce forum !
Mais je profite du forum pour améliorer mes connaissances...