Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Ma Macro Copier/Coller

  • Initiateur de la discussion Initiateur de la discussion jonhdoe1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jonhdoe1

Guest
Bonjour le forum,

J’utilise une macro pour mon travail afin de copier des éléments d’un onglet source vers un onglet cible (projets et revenus associés pour chaque mois)

Malheureusement les totaux de mes onglets cibles sont faux:

- j'ai des lignes qui me manque et donc des montants
- les mois ne correspondent pas entre la source et la cible

Pouvez vous m’aider ? (le fichier avec le code en Pièce jointe)

Bien Cdt,

jonh
 

Pièces jointes

Re : Ma Macro Copier/Coller

bonsoir,

tu remplace
' Récupère tous les revenus de chaque mois et les empile sur la colonne H

If Sheets("Active Projects").Range("S" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("S" & i)
If Sheets("Active Projects").Range("T" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("T" & i)
If Sheets("Active Projects").Range("U" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("U" & i)
If Sheets("Active Projects").Range("V" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("V" & i)
If Sheets("Active Projects").Range("W" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("W" & i)
If Sheets("Active Projects").Range("X" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("X" & i)
If Sheets("Active Projects").Range("Y" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("Y" & i)
If Sheets("Active Projects").Range("Z" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("Z" & i)
If Sheets("Active Projects").Range("AA" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("AA" & i)
If Sheets("Active Projects").Range("AB" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("AB" & i)
If Sheets("Active Projects").Range("AC" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("AC" & i)
If Sheets("Active Projects").Range("AD" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("AD" & i)

par :

Sheets("Cible Active Projects").Range("H" & i).FormulaR1C1 = "=SUM('Active Projects'!RC[11]:RC[22])"
 
Re : Ma Macro Copier/Coller

Bonjour le Forum, Bonjour homepyrof53 et merci pour ta réponse,


La solution que tu me propose fais la somme des montants des projets.

Ceci devient un problème à partir du moment où je rajoute les montants des autres mois par exemple Octobre et Novembre.

J'ai fait le test et par exemple si un projet fait 100 dollars en Septembre Octobre et Novembre la macro va m'afficher 300 dollars en Septembre ce qui est faux.

Y a t il une alternative au "=SUM('Active Projects'!RC[11]:RC[22])" ?

Ce que je veux c'est associer à chaque mois le revenu généré par le projet: sept 100, oct 100 et novembre 100 individuellement.


Merci et à vous lire.

Jonh
 
Dernière modification par un modérateur:
Re : Ma Macro Copier/Coller

Hello,

Dans la cible les montants sont sur la colonne G et les mois correspondants sur la colonne M. (Je m'étais pas rendu compte mais le titre sur la colonne G "close date" est incorrect).

Avec la macro je n'ai aucun problème pour récupérer les numéros de projets sur la colonne C.

Mais pour une raison que je ne comprends pas je n'arrive pas à récupérer l'intégralité des revenus et leurs mois respectifs.

Le check que je fais c'est faire la somme des montants de chaque mois dans la source et de comparer ce total à celui obtenu en sélectionnant le mois en question dans la cible:

Sur Septembre j'ai un écart considérable et sur les 2 autres mois aussi.

J'ai beau chercher je trouve pas où est le problème.😕

Je suis à court d'idées.
 
Re : Ma Macro Copier/Coller

Bonjour

Voici une nouvelle proposition mais je crains qu'elle ne te convienne pas, car tes explication ne sont pas claire.

Je m'étais pas rendu compte mais le titre sur la colonne G "close date" est incorrect).

mais tu donnes pas le bon titre.

Y a t'il une partie de ta macro qui fonctionne et laquelle partie pose problème, un fichier résultat serait bien.

Ce qui semble évidant pour celui qui est dans le sujet est l'inconnu pour celui qui arrive.

A+
 

Pièces jointes

Re : Ma Macro Copier/Coller

Hello!

Merci pour la réponse.

J'ai repris le détail de:

- ce que ma macro fait
- la partie de la macro qui fonctionne
- les parties qui me semblent poser problème.

J'espère avoir été moins brouillon cette fois ci et peut être qu'on pourra trouver la solution.

Cdt,

jonh
 

Pièces jointes

Re : Ma Macro Copier/Coller

Bpnjour,

Code:
        If Sheets("Active Projects").Range("S" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("S" & i)
        If Sheets("Active Projects").Range("T" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("T" & i)
        If Sheets("Active Projects").Range("U" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("U" & i)
        If Sheets("Active Projects").Range("V" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("V" & i)
        If Sheets("Active Projects").Range("W" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("W" & i)
        If Sheets("Active Projects").Range("X" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("X" & i)
        If Sheets("Active Projects").Range("Y" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("Y" & i)
        If Sheets("Active Projects").Range("Z" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("Z" & i)
        If Sheets("Active Projects").Range("AA" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("AA" & i)
        If Sheets("Active Projects").Range("AB" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("AB" & i)
        If Sheets("Active Projects").Range("AC" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("AC" & i)
        If Sheets("Active Projects").Range("AD" & i) <> "" Then Sheets("Cible Active Projects").Range("G" & i).Formula = Sheets("Active Projects").Range("AD" & i)

dans cette partie, dans la feuille active tu test si las colonne de S à AD sont non nulle si vrai alors tu recopie la valeur dans la feuille cible en colonne G.
Tu aura donc en colonne G la dernière valeur non nulle (de S à AD) de la feuille active.

J'espère que cela va éclaircir les choses
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
9
Affichages
884
O
Réponses
4
Affichages
2 K
S
Réponses
6
Affichages
2 K
simsinaty
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…