VBA copier coller val sélection multiple fonction date

20demo.xlsx (881.74 Ko)

Bonjour,

Je suis débutant en VBA et me permets de vous solliciter pour la résolution du problème suivant :

Ci-joint un extrait d'un fichier de reporting mensuel qui se compose de plusieurs onglets (ici un seul exemple) de stats de ventes.

Les blocs Sales, Gross margin, Quantity et Intercos de ces onglets sont mis à jour mensuellement grâce au chargement d'un fichier de stats.

Les lignes mises à jour sont les lignes "cumul" en police bleue.

Il y a des formules, par exemple sur le mois Oct, qui vont me permettre d'actualiser le reporting à la fin de ce mois.

Mon problème : Est-ce possible de copier-coller en valeur ces cellules-lignes en police bleue une fois l'actualisation effectuée ?

Merci d'avance pour votre aide

Jean-Philippe

Bonjour,

A priori ... nul besoin de macro ..

En effet, j'ai l'impression que toutes tes lignes 'cumul' sont systématiquement au même endroit ...

Du coup, dans ta Feuille Synthèse ... que tu ne montres pas ... il te suffit de construire une fois ton récap avec le signe =

Bonjour James007,

Merci pour ton retour

Je pense que j'ai mal exprimé mon besoin.

En effet, j'ai 8 onglets représentant des business différents qui sont consolidés sur une feuille de synthèse avec des = qui reprennent les lignes Total cumul de chaque bloc de chaque onglet.

Mais ma problématique est la suivante :

J'ai chargé un fichier de stats de ventes du mois d'octobre. La colonne Oct de mes différents onglets s'est actualisée grâce à des formules.

Lorsque le mois d'octobre sera clôturé, je chargerai un fichier de stats à fin octobre définitif et suite à cette actualisation, je souhaiterais figer mes résultats sur chaque ligne cumul des différents blocs et sur tous les onglets business.

Je ne sais pas comment indiquer une sélection multiple de cellules non adjacentes et faire cette sélection + copier-coller valeurs selon une date.

J'ai les mêmes formules d'actualisation sur Nov et Déc et après chaque actualisation du mois, je souhaite répéter cette opération de copier-coller valeurs.

J'espère cette fois être plus clair

Merci d'avance pour votre retour

Jean-Philippe

Re-Bonjour,

Pourrais-tu joindre la Feuille Synthèse-Récap avec laquelle tu travailles actuellement ... ?

Car, elle doit forcément s'incrémenter dans le temps .... du coup, un copier-coller valeurs devrait te permettre de geler l'historique ...

Bonjour James007,

Cette feuille de synthèse ne reprend la structure détaillée de mes onglets business.

Je veux garder les formules actives sur la feuille de Synthèse.

Le copier-coller valeurs concernent les lignes cumul des onglets de business.

Je souhaite copier-coller valeurs ces lignes "sur elles-mêmes" pour n'avoir que le résultat renvoyé par mes formules.

Je ne souhaite pas faire copier-coller valeurs de ces lignes sur une autre feuille du classeur.

Je pensais pouvoir utiliser l'onglet avec les paramètres de dates pour gérer une condition du type :

si le mois passe à 11, alors copier-coller en valeurs les lignes cumul (hors sous-total de chaque bloc) de la colonne Oct de chaque onglet business.

Jean-Philippe

Re,

Au risque de me répéter ...

Pourrais-tu joindre la Feuille Synthèse-Récap avec laquelle tu travailles actuellement ... ?

James007,

Ci-joint un nouveau fichier démo avec l'onglet Synthèse

Jean-Philippe

28demo.xlsx (930.14 Ko)

Re,

Merci pour ton fichier ...

Donc, comme pressenti ... une simple macro de copier coller valeurs permettra de geler l'historique ...

Re,

Ci joint la macro évènementielle à copier dans le module de la Feuille Synthèse ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' Placer le curseur sur le Mois Choisi - Ligne 5
' et faire in double-clic...
If Target.Column < 5 Or Target.Column > 16 Then Exit Sub
If Target.Row < 5 Then Exit Sub
  With Target
    Range(Cells(7, .Column), Cells(514, .Column)).Value = Range(Cells(7, .Column), Cells(514, .Column)).Value
  End With
Cancel = True
End Sub

En espèrant que cela t'aide ...

Merci James007,

J'ai compris le principe du code..par contre je ne comprends pas comment intégrer ce code dans mon fichier.

Lorsque je colle ce code dans un module de la feuille SYNTHESE de mon fichier et que j’exécute, il me demande de créer une macro.

Est-ce que "Worksheet" signifie que cette macro s'exécute en fonction de la feuille sur laquelle on se trouve ?ou faut-il remplacer "Worksheet" par "SYNTHESE" ?

Est-ce que "BeforeDoubleClick" représente le nom à donner à la macro ?

Merci d'avance

Jean-Philippe

Re,

Tu te places dans ta feuille qui te sert à faire la synthèse ...

Avec ton pointeur de souris... tu te places sur le nom de l'onglet

et tu fais un clic droit ...

dans le sous-menu qui s'ouvre, tu choisis de voir le code ...

Dans la fenêtre qui s'ouvre ... tu copies tout simplement la macro ...

C'est fait ...

Merci beaucoup James007

J'ai testé ce code et l'application est parfaite

Merci pour la rapidité de la réponse

Jean-Philippe

Ravi que cela fonctionne ..

et Merci ... pour tes remerciements ...

Rechercher des sujets similaires à "vba copier coller val selection multiple fonction date"