la formule de recopie de cellule qui change

0

Bonjour

J'ai un fichier suivant.

Je recopie sur une autre feuille excel la feuille 1

Donc la cellule A1 de la feuille 2 = à la cellule A1 de la feuille 1

la cellule A2 de la feuille 2 = à la cellule A2 de la feuille 1

Et ainsi de suite.

Le problème est : des que je rajoute une ligne sur la feuille 1 cela modifie la formule des cellules dans la feuille 2.

Comment faire pour que la formule de recopie ne change pas lors de l'ajout d'une ligne?

je joins un lien

https://www.cjoint.com/c/MKCpJCb1XSV

    Posté le 28 novembre 2023, 16:38
    par kannis
    Répondre
    0

    Bonjour kannis,

    c'est normal que les formules changent : quand tu ajoutes une ligne sur la 1ère feuille,
    les formules de la 2ème feuille s'adaptent aux nouvelles positions des cellules de la
    1ère feuille.

    il faut voir cela comme un avantage, et pas comme un inconvénient ; d'ailleurs, si les
    formules ne changeaient pas, ça n'irait plus du tout !  :(

    ------------------------------------------------------------------------------------------------------------------------------

    voici un exemple simplifié :

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Feuil1 :

    en A4 : 1
    en A5 : 2
    en A6 : 3

    Feuil2 :

    en A6 : =Feuil1!A6 ➯ 3

    c'est normal, n'est-ce pas ?  :)

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    maintenant, sur Feuil1, ajoutons une ligne au dessus de la ligne 4 ; ça fait que tout ce qui
    est en dessous se décale d'une ligne vers le bas ; ça donne :

    Feuil1 :

    en A5 : 1
    en A6 : 2
    en A7 : 3

    note bien que sur Feuil2, il n'y a pas eu de décalage comme sur Feuil1, car c'est sur Feuil1
    que tu as inséré une ligne, pas sur Feuil2 ; donc pour A6, sa position n'a pas changé :
    c'est toujours sur la ligne 6.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    mais suite au décalage sur Feuil1 :

    sur Feuil2, la formule de A6 s'est adaptée automatiquement à la nouvelle référence
    de la cellule de Feuil1 :

    en A6 : =Feuil1!A7 ➯ 3

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    SI la formule était restée la même, ça aurait donné :

    en A6 : =Feuil1!A6 ➯ 2 au lieu de 3 !  :(

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    maintenant, si tu veux vraiment que la formule de recopie (sur Feuil2) ne change pas lors
    de l'ajout d'une ligne (sur Feuil1) : c'est tout simplement impossible (sauf si on met du code
    VBA pour 
    changer la formule, mais ce serait bête de faire ça) ; le plus simple est d'enlever
    les formules ! pour faire ça, il faut faire un copier / coller en Valeurs, de préférence avant
    l'insertion de ligne(s).

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    pour notre exemple simplifié :

    avant insertion d'une ligne sur Feuil1, on a sur Feuil2 :

    en A6 : =Feuil1!A6 ➯ 3

    sur Feuil2 : sélectionne A6 ; fais Ctrl c pour faire un copier ; juste après, sans changer
    d'emplacement, fais Coller, Coller des valeurs, clic sur le 1er icône en dessous ➯
    la formule a été remplacée par le nombre qu'elle renvoyait.  :)

    si tu insères des lignes sur Feuil1, la cellule A6 de Feuil2 en est maintenant
    complètement indépendante.

    ce qu'on vient de voir pour une seule cellule est valable pour plusieurs cellules :
    tu as juste à sélectionner ces cellules ; fais Ctrl c ; puis fais Coller des valeurs :
    les formules de toutes les cellules sélectionnées partiront : elles seront
    remplacées par la valeur retournée par la formule.

    rhodo

    rhodo Posté le 28 novembre 2023, 19:01
    par rhodo
    • Merci Pour l'explication que je connaissait déjà. Je vais voir sur un autre site qui me réponde sur mon problème, pas m'expliquer comment m'en passer et que c'est con. Pas d'offense – kannis 29 novembre 2023, 16:34
    • @kannis : si tu avais mieux décrit ta demande, ça m'aurait évité de répondre « à côté » ; sache que quand un énoncé est bien écrit, c'est déjà 50 % de la solution ; comme l'a dit Chris (salut) : « je ne peux pas savoir ton degré de connaissances en Excel » ; j'avais pensé que tu étais débutant en Excel, et que tu ne savais pas que les formules sont mises à jour automatiquement ; désolé d'avoir essayé de t'aider ; vu ta réponse si sympathique, j'aurais mieux fait de m'abstenir de te chercher une solution ; c'est d'ailleurs ce que je ferai les prochaines fois : même si je trouve une solution valable à proposer, je m'abstiendrai. – rhodo 2 décembre 2023, 08:50
    • @kannis : je suis bénévole et non rémunéré ; je ne fais pas du tout partie du site excel.engalere.com ; je suis ni Administrateur ni Modérateur, et comme toi, je suis un simple membre ; alors perso, ça m'est vraiment égal si tu vas sur un autre site. – rhodo 5 décembre 2023, 13:08
    0

    Bonjour Kannis et Rhodo,

    Je pense avoir compris le souhait de Kannis à savoir que son deuxième onglet reflète le contenu du premier même si celui-ci évolue.

    Je propose donc les formules suivantes à installer dans l'onglet Num_comp en A11 et B11 et tirer ces formules sur autant de lignes que nécessaires :

    A11 : =INDIRECT(ADRESSE(LIGNE();1;1;1;"lto"))

    B11 : =INDIRECT(ADRESSE(LIGNE();2;1;1;"lto"))

    Explications si nécessaires : (je suis prudent au vu du commentaire de Kannis qui doit comprendre que Rhodo comme moi même qui passons beaucoup de temps à essayer d'aider les gens -gracieusement- ne pouvons pas savoir leur degré de connaissances en Excel donc, parfois, on donne des explications inutiles... mais c'est pas forcément C.. car cela aide certains !)

    La fonction INDIRECT permet de lire le contenu de la cellule désignée par la fonction ADRESSE et la fonction LIGNE permet de faire évoluer la ligne quant on tire la formule.

    Si on fait démarrer la suite à une autre ligne que la ligne où commence la liste dans le premier onglet, il suffit d'ajouter ou de déduire le nombre de ligne qu'il y a de diffrérence de démarrage entre les 2 onglets

    Ci-dessous le classeur adapté.

    Si l'on insère des lignes dans l'onglet 1, l'onglet 2 continuera à reproduire l'onglet 1.

    J'espère que cette fois ci cela correspond à la demande.

    A+

    Chris

    https://www.cjoint.com/c/MKExRy3NiCg

    CHRIS Posté le 1 décembre 2023, 01:05
    par CHRIS
    0

    @kannis

    j'ai répondu sous ton commentaire du 29 novembre à 16:34.

    peut-être que la réponse de Chris (salut) te conviendra ?

    avec une meilleure description de ce que tu veux, peut être aussi
    qu'une solution VBA serait envisageable et plus adaptée ?

    si oui, moi ça ne m'intéresse plus d'essayer de t'aider.

    rhodo

    rhodo Posté le 2 décembre 2023, 09:00
    par rhodo
    0

    @tous les demandeurs

    quand un énoncé est bien écrit, c'est déjà 50 % de la solution.

    à question vague : réponse vague, ou « hors sujet »,
    ou même : pas de réponse du tout.

    rhodo

    rhodo Posté le 5 décembre 2023, 13:30
    par rhodo

    Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
    Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :