Ma Macro Copier/Coller

jonhdoe1

XLDnaute Nouveau
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

  • Macros-Test Pour Backlog NA APAC Forum.xlsm
    210.8 KB · Affichages: 119

homepyrof53

XLDnaute Occasionnel
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])"
 

jonhdoe1

XLDnaute Nouveau
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 édition:

jonhdoe1

XLDnaute Nouveau
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.:confused:

Je suis à court d'idées.
 

homepyrof53

XLDnaute Occasionnel
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

  • Backlog NA APAC Forum-2.xlsm
    217.3 KB · Affichages: 92

jonhdoe1

XLDnaute Nouveau
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

  • Macros-Test Pour Backlog NA APAC Forum.zip
    173.5 KB · Affichages: 44

homepyrof53

XLDnaute Occasionnel
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
 

Discussions similaires

Statistiques des forums

Discussions
312 613
Messages
2 090 231
Membres
104 454
dernier inscrit
alaindeloin.1976