Copie automatique tableau Excel sans macro [Résolu/Fermé]

Messages postés
7
Date d'inscription
mardi 23 avril 2013
Statut
Membre
Dernière intervention
13 mai 2013
- - Dernière réponse : sodwac
Messages postés
7
Date d'inscription
mardi 23 avril 2013
Statut
Membre
Dernière intervention
13 mai 2013
- 30 avril 2013 à 10:36
Bonjour,

Après avoir beaucoup cherché, je m'en remets à vos connaissances pour m'aider à solver un problème sur Excel. Avant tout les pré-requis sont:
_ pas de possibilté d'utiliser des macros,
_ fichier en disponibilité sur un réseau partagé donc les temps de traitement doivent être relativement court.

J'ai un classeur dont la première feuille (F1) contient les colonnes suivantes:
Collaborateur Action Janvier Février Mars ...
Jacques Dév 1
Serge Dév 6
Emile Test 2 4

Je cherche à afficher exactement le même tableau dans une autre feuille (F2). Il doit se mettre à jour automatiquement lors d'une modification, d'un ajout ou d'une suppression.

Voici les solutions que j'ai essayées:
_ Copie/Collage spécial/Coller avec liaison: Lors d'un insert dans F1, pas de mise à jour dans F2

_ Formule dans toutes les cases de F2 du type: =F1!A1 (ex pour A1 dans F2)=> Fonctionne pour un insert mais pas une suprression (apparition de #REF dans la ligne de F2).


_ Formule dans toutes les cases de F2 du type: =INDEX('F1'!$A:$Q;LIGNE();COLONNE())
Cette solution fonctionne!!!! Ajout, suppression, modification, tout est ok. Sauf que lorsque je mets le fichier sur le réseau et que je le partage, pour insérer une ligne, le temps d'attente doit être de 45 secondes => Non viable.

J'ai aussi tenté de passer par un tableau dynamique mais malheuresement, ce dernier agrège mes valeurs et je n'ai plus le niveau de détail attendu...

Merci d'avance pour vos réponses.

Sodwac
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
23038
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
7 novembre 2019
5738
2
Merci
Re,

Bah, t'as tout essayé ou presque, et sans macro ça limite.

A tester :
=INDIRECT("Feuil1!B2")
qui devrait résister aux insertions et suppressions.
Mais tu vas t'amuser à tout saisir, la recopie incrémentielle est inefficace.

ou bien :
=INDIRECT("Feuil1!"&ADRESSE(LIGNE();COLONNE()))
qui te retournera même ligne, même colonne et la recopie fonctionne.
Tu peux y ajouter des offsets ligne/colonne :
=INDIRECT("Feuil1!"&ADRESSE(LIGNE()+3;COLONNE()+2))
Une cellule vide te retournera 0, pas le choix.
eric

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 71856 internautes nous ont dit merci ce mois-ci

Messages postés
23038
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
7 novembre 2019
5738
0
Merci
Bonjour,

question bête : ça sert à quoi d'avoir en double ?
C'est quoi le but ?
eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Messages postés
7
Date d'inscription
mardi 23 avril 2013
Statut
Membre
Dernière intervention
13 mai 2013
0
Merci
Bonjour Eriiic,

Le but de la manoeuvre est de simplifier la feuille de saisie (F1) en affichant le minimum de colonne (collaborateur, action, mois de saisie).

Pour faire le parrallèle avec une base de donnés, la feuille F2 représente en fait une vue qui affichera les données de F1 mais aussi d'autres données récupérées dans d'autres feuilles.

Je souhaite avoir dans F2:
-- Collaborateur - Action - Janvier - Février - Mars - ... - N° de l'action
L1
L2
L3
L4
...

Le N° de l'action sera récupéré dans F3 avec une RECHERCHEV sur l'action.

J'espère avoir été plus clair...

Sodwac
Messages postés
7
Date d'inscription
mardi 23 avril 2013
Statut
Membre
Dernière intervention
13 mai 2013
0
Merci
Eriic,

Merci pour ta réponse, je test et je reviens vers toi pour te dire si la solution fonctionne.

Sodwac
Messages postés
7
Date d'inscription
mardi 23 avril 2013
Statut
Membre
Dernière intervention
13 mai 2013
0
Merci
Eriic,

Après avoir tester, j'ai le plaisir de t'annoncer que la solution fonctionne en local ainsi qu'en mode partagé sur le réseau.

Avec la fonction INDEX => 30 secondes pour insérer une ligne sur la feuille F1
Avec la fonction INDIRECT => instantanné

Merci de ton aide et bonne continuation.