Copie/Colller en valeur dans une formule

Bonjour à tous,

Cela faisait longtemps que je n'étais pas venu, mais là j'ai besoin d'aide.

Je voudrais faire une "formule" du type :

Si A1 = B1 alors copier en valeur C1 dans D1.

Si quelqu’un a la solution je suis preneur,

D’avance merci

Jérôme

Bonjour Jérôme,

par formule, en cellule D1 : =SI(A1=B1;C1;"")

en VBA :

If [A1] = [B1] Then [D1] = [C1] 'valeur seulement, aucun format

dhany

D'abord merci de ton aide.

Pour la formule j'avais. Mais je veux que le résultat soit copie en valeur.

Car j'ai besoin que cette valeur soit gardé pour d'autre calcul

tu a écrit :

copier en valeur C1 dans D1

tu a écrit :

je veux que le résultat soit copié en valeur

comme ce que tu demandes est pour la copie d'une seule cellule (ici la cellule C1), c'est inutile de faire un copier / coller valeur : il suffit de faire comme j'ai indiqué, soit par formule, soit en VBA ; d'ailleurs, ton énoncé est pas bien clair là-dessus ; peux-tu préciser si c'est par une formule (sur la feuille de calcul) ou si c'est par un code VBA (donc dans une sub).


tu a écrit :

j'ai besoin que cette valeur soit gardée pour d'autre calcul

là aussi, c'est pas bien clair ! c'est sur la feuille de calcul ? en VBA ? quelle cellule est utilisée pour garder la valeur ?

quel est le calcul ? fait par une formule placée sur la feuille ? fait en VBA par une macro ?

dhany

Je te joins mon fichier.

En fait quand je fait la situation 1, j'ai le résultat de la situation 1 que je dois garder pour pouvoir faire mes cumuls ensuite quand je ferais la situ n°2

J’espère qu'avec le fichier cela sera plus clair.

tu a écrit :

En fait quand je fais la situation 1, j'ai le résultat de la situation 1 que je dois garder pour pouvoir faire mes cumuls ensuite quand je ferai la situ n° 2

ta demande n'est pas assez claire, et ton fichier n'apporte pas plus de précisions sur ce qu'il faut faire !

y'a 4 feuilles ; la 1ère nommée "Facture (2)" contient la Situation N° 1 ; et ensuite, que faut-il faire ?


* quelles feuilles sont concernées ? seulement la 1ère ? ou aussi une autre feuille ? si oui, laquelle ?

rappel : c'est tout à fait possible de copier une cellule d'une feuille pour ensuite la coller sur une autre feuille


* quelles cellules sont concernées (pour la 1ère feuille, et peut-être une 2ème) ?

rappel : au départ, c'était : « Si A1 = B1 alors copier en valeur C1 dans D1 » ; et ici ? car toute la ligne 1 est vide, donc c'est forcément autre chose, vu qu'y'a aucun intérêt à copier des cellules vides ! ça tombe sous le sens, hein ?


* tu as toujours pas répondu à ceci : c'que tu veux est à faire par une formule sur la feuille de calcul ou en VBA ?


si c'est par VBA, où faut-il mettre le code ? dans un nouveau module ? dans un des 2 modules que tu as déjà commencé ? si oui : sur Module1 ? sur Module2 ? faut-il compléter une de tes subs déjà commencées ? ajouter une nouvelle sub ?

bien sûr, s'il faut un code événementiel ça devra être dans ThisWorkbook ou dans le module d'une feuille.

j'ai vu que tu as aussi un UserForm vide, sans aucun code VBA ; j'pense pas qu'il est concerné, si ?


vu toutes les questions qu'on peut s'poser, j'suis pas étonné qu't'aies encore eu aucune réponse !

essaye de faire ce qu'il faut pour qu'on puisse connaître clairement ta demande !

dhany

oh, attends ! j'crois qu'j'ai trouvé ! même si ça va être ça, note que normalement, c'est à toi de nous le dire ; on n'a pas à chercher ou à deviner ! hélas, t'es vraiment pas le seul à croire qu'on connaît ton fichier aussi bien que toi ! mais on n'est pas devin !

* ça à l'air d'être sur la 1ère feuille uniquement, donc sur "Facture (2)"

* faudrait copier les 6 valeurs de E35:J35 sur une des lignes de ton tableau droit : M22:R32

* si oui, sur quelle ligne ? celle qui correspond au N° situ (déjà écrit) ? y'a vraiment une Situ 0 ? c'est pas une erreur ? peut-être que c'est pas 0 à 10 et ça devrait être 1 à 10 ? d'autre part, du fait que c'est un tableau structuré (ListObject), faut pas laisser de ligne vide, donc faudrait coller sur la 1ère ligne 22 ; puis sur la ligne 23 ; etc... ; jusque sur la ligne 32 actuellement ; et après, le tableau va s'étendre en dessous ; y'a la place, c'est déjà ça, même si la ligne 33 est 5 fois plus haute que les autres à cause de c'qui est à gauche en A:J ; et si t'as prévu que même si c'est un tableau extensible tu mettras pas plus de 11 situations (n° 0 à 10), n'oublies pas de l'indiquer ; idem si en fait c'est pas plus de 10 situations (n° 1 à 10) ; intérêt de la réponse à cette question : pour un coller par VBA, l'autoriser pour les lignes 22 à 32 uniquement, donc à partir de la ligne 22, et pas au-delà de la ligne 32.

* que ce post ne t'empêche pas de répondre aux autres questions (y compris job par formule ou VBA) ; sinon, ça pourra pas avancer !

dhany

Bonjour Jérôme,

pour la ligne à utiliser, j'ai pigé ton système ! alors voici ton fichier modifié :

à l'ouverture du fichier, tu peux voir que la cellule active est E37 ; ceci juste pour que tu saches que le choix de la ligne en n'est pas dépendant ; en fait, il dépend uniquement de ton n° de situation inscrit en C9 ; je pense que ta ligne 0 doit être présente (pour une raison ou une autre), mais qu'elle ne sert pas pour la copie puisque la ligne à utiliser est en fait : 22 + n° Situ ; exemples :

Situ 1 ➯ ligne 22 + 1 = 23 ; Situ 2 ➯ ligne 22 + 2 = 24 ;Situ 3 ➯ ligne 22 + 3 = 25 ; ... ; Situ 10 ➯ ligne 22 + 10 = 32

mais je sais pas si tu veux écrire plus bas ou non, style : Situ 11 ➯ ligne 22 + 11 = 33 ; au cas où, tu verras une butée de sécurité dans la sub CpySitu() du Module3 :

If lig > 32 Then Exit Sub 'à enlever si plus bas : ok

Ctrl e ➯ copie effectuée sur la bonne ligne ; après la copie, la cellule active est celle de la colonne L de cette ligne


oh, un petit détail : inutile de chercher tes formules de M23:M32 : je les ai supprimées, et la preuve est faite qu'on peut très bien s'en passer !

quand j'pense qu'au départ ta demande était de copier une seule cellule ! ben c'est pas le cas, hein ?

mais rassure-toi : c'est bien un copier / coller valeurs que j'ai utilisé, donc sans le format ; c'est bien pour ça que tes formats de destination sont restés comme ils sont : c'est pas ceux de l'origine, et donc : 33,33% ➯ 33% ; 0,00% ➯ 0% ; ton 1er 200,00 € ➯ 200,00


Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.


si j'me suis pas trompé et qu'c'est bien comme tu veux, merci de passer le sujet en résolu : il te suffit de cliquer sur le bouton (dans le coin haut droit de ce post) ; ça permet aussi de clôturer le fil de la discussion.

dhany

Merci,

Je regarde cela mais je ne vais pas pouvoir essayer avant ce WE.

je pense qu'avec tout ça, ça va faire.

Je mets résolu.

Slts

Rechercher des sujets similaires à "copie colller valeur formule"