XL 2016 VBA - Macro incomplète

flochams

XLDnaute Nouveau
Bonjour à tous,

Je me permets de solliciter votre aide pour créer une macro. J'ai tenté d'en taper une mais ca ne marche pas et l'enregistreur est un peu KO.

En fait, j’ai un fichier joint avec deux onglets
  • Société A
  • Import
Je souhaite créer une macro qui va ouvrir une boite de dialogue

  • Je mets un critere "OKMACRO" en celulle I1 pour que la macro sache si elle doit s'appliquer sur l'onglet, (elle ne s'appliquera pas sur tous les onglets d'un classeur)
  • Je renseigne le mois , exemple ici « 7 ».
  • Je renseigne dans la boite de Dialogue le critere où la formule est appliquée , ici c'est la colonne K avec le critere "Réel 2021"
  • La formule sera toujours en ligne 10
Ensuite je souhaite faire un copier/coller valeur de la formule sur toutes les lignes de la colonne selectionnée et je souhaite mettre un range de maximum 800 lignes.

Pourriez vous m'aider svp? Aussi simple que cela puisse paraitre je n'y suis pas arrivé (je n'utilise pas souvent les macros)
VB:
Sub copieformule()
Dim ws As Worksheet
    ' Est ce que macro doit marcher
   If Range("I1") = "OKMACRO"
   Then
   End If
  
Answer = MsgBox(" " .Range("L12:W12")
If answer = "" Then
Answer = MsgBox(" " .Range("L1:W800)
If answer = "Réel 2021"then
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
End Sub

Sub allws()
Dim ws As Worksheet
Merci par avance pour votre aide
 

Pièces jointes

  • Test Macro 3 - Copie.xlsx
    12.7 KB · Affichages: 14
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
pas bien clair tout ça ? . Ton bout de code ne nous avance pas !! de plus ta syntaxe de msgbox normalement ne passe pas dans le vbe ? je ne connais pas cette syntaxe non plus
Il faudrait que tu mettes pas à pas c eque tu fais ( exemple je mets OKMACRO en I1) ensuite je fais ça puis ça ..etc et je veux obtenir xxxxxx en yyyyyyy etc etc !
 

flochams

XLDnaute Nouveau
Bonjour

Merci pour ton aide.

Voici ci-dessous ce que je cherche à effectuer.

Mon objectif principal, c’est de faire une macro qui fait un Copier/Collervalleur d’une somme.si.

En fait j’ai une colonne par mois, et je dois alimenter l’onglet Société A grâce à l’onglet Import.

Tous les onglets ne doivent pas faire le copier coller.

Je ne souhaite maj les colonnes que une par une.

J’ai donc voulu taper une macro qui ferait :

  • Ouvrir une boite de dialogue qui me demande un numéro de 1 à 12 (pour les mois de l’année) . Les numéros 1 à 12 correspondent à une colonne allant de L à W
  • Par exemple, si je sélectionne « 7 », la macro doit donc faire un copier collervaleur de la formule Somme.si qui se trouve en R14 de la ligne 14 à 800.
  • Avant de se déclencher la macro doit vérifier deux conditions
  • La présence en I1 « OKMACRO » I1 à LA macro ne doit pas fonctionner sur tous les onglets
  • Le copier/collervaleur ne doit s’effectuer que si le critère « Réel 2021 » est présent en K
La dernière étape je veux mettre une limitation dans la boucle de la macro car aucun n’onglet ne fera jamais plus que 800 lignes
 

Discussions similaires

Réponses
7
Affichages
292

Statistiques des forums

Discussions
311 709
Messages
2 081 769
Membres
101 816
dernier inscrit
Jfrcs