Reporter le montant d'une cellule dans une autre cellule mais à partir 31e

Bonsoir,

j'ai réussi à me procurer un PC avec excel.

J'ai fait la manipulation pour pouvoir entrer le code.

J'ai copié collé le code, exécuté celui-ci, mais il ne se passe rien. Pas de changement dans mon fichier. Le montant de la cellule D81 ne se reporte pas dans la cellule A81 derniere partie après le : (que j'ai remis à blanc).

J'ai reposté le fichier remis à blanc, c'est à dire sans rien après les derniers" :" des cellules A81, A82 et A83.

Vous voyez si le code est appliqué ?

Je voudrais qu'après les derniers ":" de A81 il y ait le montant figurant dans D81

après les derniers ":" de A82 qu'il y ait le montant figurant dans D82 et

après les derniers ':' de A83 qu'il y ait le montant figurant dans D83.

Désolée, depuis le début, je ne dois pas être très claire... je suis super désolée !

Bonsoir Hupold,

Je vous ai déjà retourné votre fichier sur mon précédent commentaire. Je pense que vous ne vous en êtes pas rendu compte car il est resté à 0 téléchargement.

Faites déjà un essai avec ce fichier.

Edit : Il faut mettre le code dans un module normal (Module1) et non un module de classe .

Cdlt,

Bonsoir G3B,

jeffectivement je n'avais pas vu la pièce jointe,

j'ai activé les modifications sur votre fichier pour voir si en modifiant D42, celui ci modifie D81, et non cela ne modifie pas.

Si je modifie le montant de D81, le montant après les derniers ":" de A81 n'est pas modifié

Je vous invite à vérifier plus attentivement. En tout cas, de ce que j'ai compris, ça fonctionne. Mais souvenez-vous que je vous ai écrit ceci :

Si une valeur est inscrite en colonne D, on remplace la dernière partie du code en colonne A (la partie à droite des derniers ":") par la valeur en colonne D. Lorsque le code en colonne A se termine par ":" (à 31 caractères), cela a pour effet d'ajouter la valeur en colonne D.

Sinon, il faudrait que vous donniez des exemples clairs de tous les cas et des résultats attendus avec un fichier sans colonne inutile.

Et c'est toujours valable...

Et sur le fichier que je vous ai joint, il y a un bouton qui permet l'exécution de la macro. Ca ne se fait pas tout seul. Il est cependant possible de la déclencher à chaque changement sur la colonne D par exemple :

'>>>>> CODE A METTRE DANS LE MODULE DE LA FEUILLE CONCERNEE (FEUIL1 DE MEMOIRE)
private sub worksheet_change(byval target as range)
if target.column = 4 then
call Rajouter
end if
end sub

Cdlt,

Jusqu'à maintenant d'années en années mes collègues inséraient la valeur de la colonne D (A81) manuellement après les derniers : de la colonne A (A81). Par exemple D81 = 10500, ils reportaient à la main 10500 après les derniers ":" de A81. Justement je voudrais trouver un moyen de le faire automatiquement si cela existe.

D81 lui = D42

Vous faites erreur(je pense), lorsque le code de la colonne A se termine par : , cela a pour effet d'ajouter la valeur en colonne C, non D

Je ne vois pas quels exemples donner en supplément car c'est mon fichier de travail En tous cas merci d'essayer de m'aider !

Vous n'avez pas vraiment donné d'exemple, juste des explications. Un exemple aurait pu s'avérer plus explicite qu'une longue explication surtout si nous nous étions mal compris sur le résultat désiré.

Quand je reprends mon fichier, ça fonctionne. Quand j'essaie avec le votre, ça fonctionne. Donc je me dis que j'ai dû mal comprendre quelque chose qui aurait pu être clarifié assez facilement grâce à l'envoi d'un fichier avec les colonnes A et D telles qu'elles doivent être, une colonne E avec les résultats espérées et éventuellement quelques précisions sur les conditions d'exécution s'il y en a...

Oui ca fonctionne !

! Ah quand même, je commençais à douter, à me dire qu'il fallait intégrer autre chose.

Je suis content que ça marche en tout cas. Si vous avez besoin de choisir une autre colonne, il suffit de modifier range("A2:D" & dl) par range("A2:F" & dl) par exemple si les suffixes sont en colonne F. Mais ce ne sera a priori pas le cas vu que ces colonnes A et D sont historiquement fixes et destinées à le rester.

Edit : C'est valable pour toutes les lignes remplies de la colonne A (de la 2è à la dernière non vide). Il n'y a rien à changer de particulier si ce n'est la colonne comme précisé ci-dessus. Et bien sûr, si vos codes ne sont plus en colonne A mais en colonne B, ou s'ils commencent en ligne 5, et bien il faudra mettre B5 à la place de A2.

Cdlt,

Youpi ca fonctionne de D81 vers A81 !

Super contente !!!!

Que dois-je modifier sur votre code si je veux l'appliquer à d'autres lignes et d'autres fichiers similaires (car je vous ai envoyer la version light de mon vrai fichier, cad avec moins de lignes) ?

Les colonnes resteront toujours pareilles sur les autres fichiers (une 30 aines).

Ce sera juste sur des lignes différentes qu'il yaura à faire ces report.

OMG

Je vais être comme ça au bureau (en visio, covid oblige) : Like a boss

Mais ne crions pas victoire trop vite, il faut encore que ca se traduise sous libre office, puisque nous ne travaillons qu'avec libre...

Je vous le souhaite ! C'est une belle initiative, j'espère qu'elle sera appréciée !

Oui, en effet, c'est ce qui me semble être le plus délicat, passez ça sous libreoffice.

Juste une interrogation sur votre fichier. J'avais des formules dans ma cellule D82 : = C134+C135 etc.... que je ne vois plus. Y a t il une subtilités pour les retrouver ?

Et dans ma cellule D81, il yavait =D42, idem cela a disparu. Y a t il une raison ?

Avec mon fichier, aucun moyen, elles sont perdues . Je ne me suis pas embêté et pour tester justement, j'ai repris les valeurs sans tenir compte des formules.

Mais sur votre fichier, vous pourrez garder vos formules intactes et exécuter la macro normalement. Attention cependant car toute exécution rend la commande Undo (ctrl + z) inopérante...

J'ai regardé rapidement et il faudra effectivement trouver un moyen d'adapter le code car ce sont 2 langages différents aux syntaxes différentes. Je peux tenter quelque chose mais c'est un langage que je ne connais pas donc je risque de tomber à côté

Je viens de tenter avec Libre en suivant les indications d'Eriiic, code exécutable mais cela ne fonctionne pas

Mais dans la fenêtre où il fallait cliquer le code exécutable il est question d'éxecuter Microseft Excel 97/2000/XP, peut etre que ma version d'Office est trop récente... à voir avec la cellule informatique de mon bureau demain...

Oui, c'est une bonne idée. Il y a de grandes chances qu'ils sachent traduire le VBA en Basic.

Cdlt,

Eventuellement, je vais reprendre votre code et le poster sur le forum Calc pour voir si un membre saurait retranscrire... ce sera peut etre le plus simple...

Je suis quand même super contente ! Je savais que c'était impossible que ca n'existe pas !

Rechercher des sujets similaires à "reporter montant partir 31e"