Copie automatique de cellules en fonction d'une autre cellule

Bonjour à tous

J'utilise Excell 2010 et je souhaiterai pouvoir copier automatiquement le contenu des cellules de 2 colonnes d'un classeur vers un autre à partir des valeurs des cellules d'une troisième colonne présente sur les 2 classeurs.

Je m'explique :

- Classeur 1 contient en cellule G1 un nombre, en H1 une expresion (d1 ou d500, par exemple) et en L1 une valeur (une référence : XXX, par exemple)

- Classeur 2 : je veux copier automatiquement les valeurs contenues dans les cellules G1 et H1 du classeur 1 en fonction de la valeur de la cellule L1 présente dans les 2 classeurs.

Je vous adresse un petit fichier exemple avec indication pour mieux cerner le problème.

Je vous remercie à tous pour votre aide et vous souhaite une agréable journée.

140exemple.xlsx (8.49 Ko)

Bonjour,

Je vous adresse un petit fichier exemple avec indication pour mieux cerner le problème

Le problème est sans doute que l'exemple est si "petit" qu'il ne permet pas de comprendre la situation dans ton classeur1, tu n'as véritablement qu'une seule ligne

J'irais voir du côté des fonctions INDEX() et EQUIV() ... mais faute d'indications plus précises, ce n'est pas certain

Bonjour M.Umilité

Merci pour ton aide, mais n'étant un grand connaisseur d'Excell (aucune connaissance des macros ou du VBA), j'ai du mal à bien expliquer mon problème.

Pour être plus précis mon fichier contient environ 300 lignes.

En fait, les cellules des colonnes G, H et L contiennent le même type de données en classeur 1.J'ai rajouté quelques exemples dans mon fichier

Dans le classeur 2 je n'ai que la valeur de la cellule L et je veux donc copier automatiquement en colonne G et H du classeur 2 les valeurs des cellules des colonnes G et H présentent dans le classeur 1

La valeur L étant identique en classeur 1 et 2, c'est par rapport à cette valeur, je pense que la formule automatique peut se réaliser.

Est-ce plus clair ainsi pour vous ?

79exemple.xlsx (8.76 Ko)

Rebonjour M.Utilité

Pour reprendre la première ligne de mon fichier exemple et pour expliquer mon problème différemment :

Dans le classeur 2, si L1 = POT02 alors la formule doit copier automatiquement en cellule G1 et H1 les valeurs suivantes :

G1=12,90

H1=d500

En fait, les valeurs des cellules contenues dans le classeur 1 en cellule G1 et H1.

Une autre formulation : pour une valeur en colonne L dans le classeur 2 (qui est également présente dans le classeur 1), je souhaite que la formule copie automatiquement les valeurs des cellules des colonnes G et H du classeur 1 dans le classeur 2.

68exemple.xlsx (8.76 Ko)

Re-bonjour,

En G1 de la feuille classeur2, colle la formule suivante:

=INDEX('calsseur 1'!G$1:G$20;EQUIV($L1;'calsseur 1'!$L$1:$L$20;0))

[le "calsseur 1" n'est pas de moi, hein, c'est le nom que tu as donné à la feuille]

Si j'ai correctement compris la demande et que les résultats correspondent à tes attentes, on fera en sorte qu'il s'agisse bien de classeurs distincts.

On prévoira aussi ce qu'il faut afficher, si une référence n'est pas présente dans le classeur1

Merci vraiment pour ton aide, mais cela ne fonctionne pas malheureusement.

Lorsque je copie ta formule en cellule G1 du classeur 2 de mon fichier example, la cellule G1 me renvoie cette valeur : #N/A et rien ne s'affiche en cellule H1

Sinon pour le "calsseur", j'ai commis une faute mais cela ne change pas grand chose je suppose si je garde bien "calsseur comme nom de la feuille et dans la formule.

Dans le fichier que je t'ai fourni il s'agit de 2 feuilles d'un même classeur mais en réalité, les 2 feuilles seront dans 2 classeurs différents.

Encore merci et bonne soirée

J'avais bien compris qu'il s'agissait d'une faute de frappe pour le "calsseur"

J'ai bien compris aussi qu'il s'agirait de classeurs distincts (mais procédons par étapes !)

Ci-joint, ton classeur, avec la formule proposée ... et des résultats qui apparaissent ... sont-ils corrects ?

Oui, c'est bien cela que je recherche, mais pourquoi cela ne fonctionne-t-il pas chez moi ?

J'ai pourtant bien copié la formule en G1 dans le classeur 2 !

Oui, c'est bien cela que je recherche, mais pourquoi cela ne fonctionne-t-il pas chez moi

Sans qu'on puisse voir ton fichier test, on ne peut guère répondre

OK, ca ne fonctionnait pas avec mon fichier exemple de mon premier post, j'ai donc téléchargé le tien et c'est bien cela que je recherche.

Un grand merci à toi pour ton aide et le temps passé à résoudre mon souci

J'avais peur que cela ne fonctionne pas car j'avais oublié de préciser que les valeurs de la colonne L ne sont pas dans le même ordre dans le classeur 1 et le classeur 2 (exemple : la valeur XXX est en L12 dans le classeur 1 et en L55 dans le classeur 2).

Mais je viens de tester et cela fonctionne apparemment.

Reste peut-être, comme tu le disais à résoudre le fait que ce sont 2 classeurs différents et aussi que se passera-t-il si une référence (en colonne L, ce sont des références) est présente dans un classeur mais pas dans l'autre (et vice versa) car je ne dois pas avoir le même nombre de référence dans les 2 classeurs.

En tout cas, encore merci, et à demain si tu le veux bien car de mon côté, je sature, j'ai copié manuellement tout l'après-midi des centaines de cellules en jonglant entre les 2 classeurs, je sature.

Bonne soirée

Bonjour,

Le plus simple, pour créer deux classeurs distincts, est sans doute -dans le fichier exemple que j'ai joint hier- de faire:

  • clic droit sur l'onglet de la feuille Classeur2 > Déplacer ou copier
  • dans la boîte de dialogue, choisir "Nouveau classeur" dans la liste déroulante, en haut
  • ce que tu choisis ensuite, dans la zone "avant la feuille" n'a pas vraiment d'importance
  • ne pas cocher la case "créer une copie"
  • dans le nouveau classeur créé, en G1, la formule indique maintenant une formule du genre:
    =INDEX('[le_nom_du_fichier_source.xlsx]le_nom_de_la_feuille'!G$1:G$20;EQUIV($L1;'[le_nom_du_fichier_source.xlsx]le_nom_de_la_feuille'!$L$1:$L$20;0))

    attention aux apostrophes, crochets, points d'exclamation et dollars !!

Quand tu refermeras le fichier source (pas celui avec les formules) Excel ajoutera automatiquement le chemin d'accès au fichier, avant le nom du fichier, dans la formule.

Les fonctions INDEX et EQUIV peuvent lire les valeurs d'un classeur fermé; l'ordre d'apparition des références dans chacun des fichiers n'a pas d'importance.

Un message d'erreur apparaîtra chaque fois qu'une référence ne sera pas trouvée dans le fichier source. Vérifie quand tu auras un instant si tu disposes de la fonction SIERREUR() dans ta version d'Excel et on complètera alors la formule.

Bonjour U.Milité

Désolé de ma réponse tardive, je n'ai pas eu le temps de me repencher sur le problème aujourd'hui.

En tout cas, j'ai testé hier et ta formule fonctionnait parfaitement sur 2 feuilles d'un même classeur.

Je vois cela demain ou au plus tard ce week end et te tiens informé.

En tout cas, encore un grand merci pour ton aide, ce n'est pas si courant pour le souligner.

Bonne soirée

Rechercher des sujets similaires à "copie automatique fonction"