Macro pour copier coller des données dans une colonne donnée

Bonjour chers tous

J'ai besoin de faire une macro qui une fois activée va copier et coller les valeurs dans la colonne correspondant au mois indiqué

Pour plus de précisions je joint un fichier pour la démonstration

52demo.xlsm (18.76 Ko)

Bonsoir,

Sub TftConso()
    Dim m%, cm
    With Worksheets("BS")
        m = Month(.Range("C4"))
        cm = .Range("F7:F" & .Range("F6").End(xlDown).Row).Value
    End With
    Worksheets("CM").Range("C7").CurrentRegion.Offset(1, m) _
     .Resize(UBound(cm), 1).Value = cm
End Sub

Cordialement.

Bonsoir KTM, le forum,

je te retourne ton fichier modifié :

18demo.xlsm (20.68 Ko)

* à l'ouverture du fichier, tu es sur la feuille "CM" ; note que la colonne "janv-18" est vide

* va sur la feuille "BS", et fais Ctrl e ➯ copie effectuée !

* fais les tests pour d'autres mois ; tu pourras voir que ça sera ok.


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.

dhany

Très gros Merci dhany ça marche mais j'ai quelques petites préoccupations :

1- J'aimerais copier uniquement les valeurs de la consommation. Parce que Quand la consommation doit provenir d'une autre source ça marche pas ( Elle contient une formule)

2- Interdire la copie dans la colonne si elle contient déjà des chiffres

3- Si possible expliquez moi les lignes de codes utilisés

Merci beaucoup; je ne suis pas fort en VBA et je suis sur que ce Forum me sera très utile.

Bonjour KTM,

tu a écrit :

J'aimerais copier uniquement les valeurs de la consommation.

c'est bien ce qui était fait dans mon fichier précédent : ça copie les données de la feuille "BS", colonne F "Quantité consommée".

screen

dans la nouvelle version ci-dessous, la nouveauté est que ça peut pas écraser d'anciennes données déjà existantes :

13demo.xlsm (21.20 Ko)

l'explication du code, je la ferai plus tard, quand tu me diras que la version est ok.

dhany

bonjour

salut dhany

à condition de faire une gestion sur un onglet et non 12 (ou 120 sur 10 ans

un simple TCD

aucun VBA, aucune formule non plus

9copie-de-demo.xlsm (25.76 Ko)

[quote=MFerrand post_id=688243 time=1536874747 user_id=35576]

Bonsoir,

Super Merci

Bonjour KTM,

as-tu réussi à comprendre le code VBA, ou as-tu toujours besoin que j'l'explique ? je te demande car si tu as déjà compris tout le code, c'est inutile que je prenne du temps pour commenter tout mon code VBA ; de plus, y'a p't'être qu'une petite partie que tu aimerais que j'explique ? si oui, laquelle est-ce ?

dhany

Bonjour KTM,

relis mon post précédent, car je l'ai beaucoup modifié ; à te lire pour la réponse.

dhany

Salut dhany

Le code marche très bien et comme je ne le comprends pas jai pas pu l'adapter au second fichier que je vais vous faire parvenir mais avant je vous explique:

Il s' agit d'une partie de mon fichier de gestion:

1- Je dois chaque mois copier les quantités utilisées(Consommations) de la feuille "RCM" et les coller en valeurs dans la colonne de la feuille "Consommations mensuelles" en fonction du mois indiqué en "H4" de la feuille "RCM".

2- Calculer dans la feuille "Consommations mensuelles" les CMM (moyenne des trois dernières

consommations )

Merci d'avance et à plus.

10demo-1-1.xlsm (31.98 Ko)

Le code marche très bien et comme je ne le comprends pas jai pas pu l'adapter au second fichier que je vais vous faire parvenir mais avant je vous explique:

Il s' agit d'une partie de mon fichier de gestion que je voudrais automatiser:

1- Je dois chaque mois copier les quantités utilisées(Consommations) de la feuille "RCM" et les coller en valeurs dans la colonne de la feuille "Consommations mensuelles" en fonction du mois indiqué en "H4" de la feuille "RCM".

2- Calculer dans la feuille "Consommations mensuelles" les CMM (moyenne des trois dernières

consommations )

Merci d'avance et à plus.

5demo-1-1.xlsm (31.98 Ko)

bonjour

avec Power Query

https://www.youtube.com/watch?v=gwW2CDdvUUs

menu power query "à partir de plage",

ensuite il faut dépivoter (tâtonne un peu pour trouver le bon bouton)

"charger"

faire un TCD

pas de VBA pour une gestion de stocks.

note : si tu mets une colonne "pharmacie concernée" dans ton talbeau de données, et que tu enregistres aussi les entrées (cahngement de signe des quantités) tu peux faire une gestion de stocks, avec le TCD que j'ai fait.

et tu auras toutes les stats dont tu rêves.

Bonjour,

Si je vois bien, tu n'as que les références de plage à ajuster à ton fichier... Pas de problème si celles-ci sont fixes dans le temps.

Sinon, si elles peuvent varier (emplacement de la colonne à reporter, etc.), on établit des variables pour déterminer ces valeurs à chaque fois.

Cordialement.

salut KTM,

je te retourne ton fichier modifié :

4demo-1-1.xlsm (36.25 Ko)

* à l'ouverture du fichier, tu es sur la 2ème feuille "Consommations Mensuelles" ; note bien que la colonne K "sept.-18" est vide

* va sur la 1ère feuille "RCM" ; note bien qu'en H4 il y a "septembre-18" ; fais Ctrl e ; contrôle bien tous les résultats !

attention : comme il s'agit d'médicaments, on n'a pas droit à l'erreur !


pour faire la moyenne des 3 dernières consommations, il faut bien sûr au moins 3 mois, n'est-ce pas ?

alors envoie un fichier avec plus de données ! (pa'c'qu'un seul mois, ça fait un peu léger ! )

dhany

GRAND GRAND Merci Cher dhany

Comme on le dit chez nous "c'est propre"

Je vous renvoie le fichier avec plus de données pour le calcul des "CMM"

J'utilise la formule moyenne mais chaque mois je suis obligé de changer les références .Fastidieux.

Je vais chercher à comprendre votre code pour la macro et si je n'y arrive pas je vous ferai cas. Mais si vous pouvez me donner les explications ça sera super bien.

Encore une autre Chose que j'aimerais vous demander :

J'ai besoin d'une autre macro laquelle, associée à un bouton va enregistrer mon fichier dans un sous-dossier de sauvegarde à l'emplacement du fichier d'origine .(Pour pouvoir l'utiliser partout sur n'importe quel PC)

Merci et excusez moi si je vous en demande trop. Vous êtes formidable.

3demo-1-1-1.xlsm (39.08 Ko)

Bonjour KTM,

nouvelle version :

9demo-1-1-1.xlsm (39.29 Ko)
tu a écrit :

si vous pouvez me donner les explications ça sera super bien.

j'ai mis des commentaires dans le code VBA.


note bien que la colonne "CMM" est vide ; Ctrl m ➯ calcul de la moyenne des 3 derniers mois

(sauf si y'a moins de 3 mois )


pour une copie de sauvegarde du fichier dans un sous-dossier, je pense que c'est mieux de le faire en dehors du classeur Excel, avec Windows ; si vraiment tu y tiens, je préfère laisser ça à un autre intervenant.


à te lire pour avoir ton avis.

dhany

Sublime Merci à vous dhany

C'est parfait!!!!!

Dans le code VBA vous vous êtes trompés de Colonne à copier (RCM Colonne "F" au lieu de " M") mais c'est pas grave ; avec les explications par vous apportées je pense pouvoir corriger le tir.

Pour le calcul de la CMM sur la seconde feuille j'ai pensé à la fonction "Moyenne.si.ens" et ça marche aussi bien.

Encore Merci--

merci pour ton retour !

pour la colonne M au lieu de F, c'est car y'a plus d'une colonne Quantité, et toutes les données à 0 de la colonne F m'ont induit en erreur. dans le fichier ci-dessous, j'ai saisi 01/06/2018 en H4 et quelques données fictives en colonne F

Ctrl e ➯ cette fois, c'est bien les données de la colonne F qui sont copiées

12demo-1-1-1.xlsm (39.39 Ko)

dans la sub CpyQC(), j'ai modifié seulement ces 2 lignes :

dlig = Cells(Rows.Count, 6).End(xlUp).Row 'dernière ligne utilisée, selon la colonne F
...
If IsEmpty(.Value) Then .Value = Cells(lig, 6) 'copie de « Quantités utilisées »

pour le calcul de la CMM, j'espère que la méthode que tu as utilisée fait bien le calcul pour les 3 derniers mois seulement

(et rien du tout si moins de 3 mois, car alors sans objet pour une moyenne trimestrielle)

j'avais choisi 2 chiffres après la virgule, mais bien sûr, tu peux le changer ; par exemple 0 chiffre après la virgule

(mais là, ce sera peut-être mieux d'arrondir à l'entier supérieur)

dhany

Merci dhany pour ton coup de main à bientot

Rechercher des sujets similaires à "macro copier coller donnees colonne donnee"