Excel : copier valeur d'une formule autre page si vide

youyou -  
 youyou -

Bonjour le forum,

J'aimerai copier des valeurs issues d'une formule de la feuil1 en A1 et A2 par exemple vers les cellule A1 et A2 de la feuil2 mais que si ces cellules sont remplie alors en B1 et B2. J'ai trouvé des codes permettant de faire l'un ou l'autre mais pas les deux ^^. Merci de votre aide. 


Windows / Chrome 103.0.0.0

7 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     

    Bonjour Youyou

    Essayer cette formule si j'ai bien compris votre problème

    =SI(Feuil2!$B1<>"";Feuil1!$A1;"")


    0
    1. youyou
       

      Je me suis mal exprimé, la valeur de A1 peut changer et j'aimerai garder les valeurs précédentes d'où mon besoin d'enregistrer sous la dernière valeur connue. 

      0
  2. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     

    Bonjour

    Il faut faire un copier/coller valeur pour figer les valeurs en colonne B


    0
    1. youyou
       

      Je connais cette manip mais je pensais plutôt faire cela via une macro si possible. De ce type par exemple : 

      Sheets("Feuil1").Range("A1").Copy
      Sheets("Feuil2").Range("A2" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues

      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Bonjour à tous les deux

    Ou alors utiliser une macro, mais pour ça il faudrait montrer le ficiher

    Cdlmnt

    0
    1. youyou
       

      Bonjour,

      Ci-joint un fichier d'exemple : https://www.cjoint.com/c/LHcoffV4Lbg

      Merci pour votre aide. 

      0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Tu ne dis vraiment pas grand chose dans ton fichier (une seule feuille !)

    Un essai avec ce que j'ai compris

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

    Cdlmnt

    0
    1. youyou
       

      En effet trop reduit car je n'ai pas réussi à adapter ton code à mon cas de figure. Je joins un nouveau fichier :https://www.cjoint.com/c/LHcoK5MetYg. 

      Objectif est de copie G39 en A1, I39 en b1 et G43 er c1. 

      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Désolé, j'ai supprimé mon envoi qui ne correspond pas à ta demande.

    Le pb vient du fait que tu as des formules (ce que je n'avais pas vu)

    Je pense que la solution passe par un bouton à cliquer pour faire les copies

    Je te fais ça

    0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     

    ça devrait aller mieux

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

    Le code est dans le Module 2

    Il te faut supprimer le code du module de Feuil1

    dlmnt

    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       

      Il reste (peut être un pb)

      Tu as des formules du genre =ALEA.ENTRE.BORNES(0;36) qui sont recalculées à chaque changement dans ta feuille, y compris quand on lance la copie via le clic sur OK, ce qui ne permet pas de voir en feuille 1 les dernières valeurs transférées(qui sont remplacées par des nouvelles)?

      Si ce n'est pas un pb, ça roule comme ça

      sinon tu on peut bloquer le recalcul  automatique en début de procedure OK  et le réactiver à la demande via un petit bouton par exemple, tu dis

      Cdlmnt

      0
  8. youyou
     

    Bonjour ccm81,

    Merci pour le temps que tu passe sur ce sujet, j'ai testé ton fichier et ca me semble bien fonctionner. Excellent :). 

    0