(Excel) Macro à l'aide SVP
Résolu
olive60
Messages postés
253
Date d'inscription
Statut
Membre
Dernière intervention
-
olive60 Messages postés 253 Date d'inscription Statut Membre Dernière intervention -
olive60 Messages postés 253 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous !!!
Le problème :
J'ai un classeur dynamique à 4 feuilles "Hypothèses" "produits" "charges" et "resultats".
Pour faire varier mon classeur en fonctions de differentes hypothèses d'activité, j'ai fais des boutons sur la page hypothèses, boutons qui modifie la valeurs de certaines cellules, dans la meme feuille.
Cependant, j'aimerais que ces boutons modifient également deux valeurs dans une autre feuille ("charges").
Voici une macro d'un bouton :
Sub Bouton40_QuandClic()
Range("D4").Select
ActiveCell.FormulaR1C1 = "2"
Range("D6").Select
ActiveCell.FormulaR1C1 = "1"
Range("C35").Select
ActiveCell.FormulaR1C1 = "2"
Range("C36").Select
ActiveCell.FormulaR1C1 = "1"
Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
Range("C40").Select
ActiveCell.FormulaR1C1 = "1"
End Sub
Comment puis je la modifier??? (le fameux "!charges(XXX)" dans une formule)
MERCI DE VOTRE AIDE AME CHARITABLES !!!!!!!!!!!
Le problème :
J'ai un classeur dynamique à 4 feuilles "Hypothèses" "produits" "charges" et "resultats".
Pour faire varier mon classeur en fonctions de differentes hypothèses d'activité, j'ai fais des boutons sur la page hypothèses, boutons qui modifie la valeurs de certaines cellules, dans la meme feuille.
Cependant, j'aimerais que ces boutons modifient également deux valeurs dans une autre feuille ("charges").
Voici une macro d'un bouton :
Sub Bouton40_QuandClic()
Range("D4").Select
ActiveCell.FormulaR1C1 = "2"
Range("D6").Select
ActiveCell.FormulaR1C1 = "1"
Range("C35").Select
ActiveCell.FormulaR1C1 = "2"
Range("C36").Select
ActiveCell.FormulaR1C1 = "1"
Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
Range("C40").Select
ActiveCell.FormulaR1C1 = "1"
End Sub
Comment puis je la modifier??? (le fameux "!charges(XXX)" dans une formule)
MERCI DE VOTRE AIDE AME CHARITABLES !!!!!!!!!!!
A voir également:
- (Excel) Macro à l'aide SVP
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Aller à la ligne excel - Guide
11 réponses
Essai ça
<CODE>
feuil1=ThisWorkbook.Worksheets("hypothèses")
feuil2=ThisWorkbook.Worksheets("charges")
Lorsque tu veux travailler sur la feuille Hypothèses, tu tapes:
feuil1.range(".....")
lorsque tu veux travailler sur la feuille Charges, tu tapes:
feuil2.range("......")
Moi, je fais comme ça et ça fonctionne
<CODE>
feuil1=ThisWorkbook.Worksheets("hypothèses")
feuil2=ThisWorkbook.Worksheets("charges")
Lorsque tu veux travailler sur la feuille Hypothèses, tu tapes:
feuil1.range(".....")
lorsque tu veux travailler sur la feuille Charges, tu tapes:
feuil2.range("......")
Moi, je fais comme ça et ça fonctionne
MErci de ta réponse!
Mais ces lignes je les places ou dans ma macro, au debut?
Sub Bouton40_QuandClic()
<CODE>
feuil1=ThisWorkbook.Worksheets("hypothèses")
feuil2=ThisWorkbook.Worksheets("charges")
Range("D4").Select
ActiveCell.FormulaR1C1 = "2"
Range("D6").Select
ActiveCell.FormulaR1C1 = "1"
Range("C35").Select
ActiveCell.FormulaR1C1 = "2"
Range("C36").Select
ActiveCell.FormulaR1C1 = "1"
feuil2.Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
feuil2.Range("C40").Select
ActiveCell.FormulaR1C1 = "1"
End Sub
Comme ça?
MErci!!!
Mais ces lignes je les places ou dans ma macro, au debut?
Sub Bouton40_QuandClic()
<CODE>
feuil1=ThisWorkbook.Worksheets("hypothèses")
feuil2=ThisWorkbook.Worksheets("charges")
Range("D4").Select
ActiveCell.FormulaR1C1 = "2"
Range("D6").Select
ActiveCell.FormulaR1C1 = "1"
Range("C35").Select
ActiveCell.FormulaR1C1 = "2"
Range("C36").Select
ActiveCell.FormulaR1C1 = "1"
feuil2.Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
feuil2.Range("C40").Select
ActiveCell.FormulaR1C1 = "1"
End Sub
Comme ça?
MErci!!!
Voici ta formule modifiée:
Sub Bouton40_QuandClic()
Range("D4").Select
ActiveCell.FormulaR1C1 = "2"
Range("D6").Select
ActiveCell.FormulaR1C1 = "1"
Range("C35").Select
ActiveCell.FormulaR1C1 = "2"
Range("C36").Select
ActiveCell.FormulaR1C1 = "1"
Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
Range("C40").Select
ActiveCell.FormulaR1C1 = "1"
Sheets("Feuil2").Select
Range("B20").Select
ActiveCell.FormulaR1C1 = "=5"
Sheets("Feuil1").Select
End Sub
tu remplaces" Feuill2" par le nom de la feuille dans laquelle tu veux aller et "Feuill1" par le nom de ta feuille d'origine.
Exemple :
Sheets("Hypothèses").Select
Sheets("Produits").Select
le reste, tu sembles connaître.
Amitiés.
Georges
Sub Bouton40_QuandClic()
Range("D4").Select
ActiveCell.FormulaR1C1 = "2"
Range("D6").Select
ActiveCell.FormulaR1C1 = "1"
Range("C35").Select
ActiveCell.FormulaR1C1 = "2"
Range("C36").Select
ActiveCell.FormulaR1C1 = "1"
Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
Range("C40").Select
ActiveCell.FormulaR1C1 = "1"
Sheets("Feuil2").Select
Range("B20").Select
ActiveCell.FormulaR1C1 = "=5"
Sheets("Feuil1").Select
End Sub
tu remplaces" Feuill2" par le nom de la feuille dans laquelle tu veux aller et "Feuill1" par le nom de ta feuille d'origine.
Exemple :
Sheets("Hypothèses").Select
Sheets("Produits").Select
le reste, tu sembles connaître.
Amitiés.
Georges
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci BCP pour ta réponse... mais
Erreur de synthaxe !!!!
Vous voyez une erreur qq part?
Sub Bouton46_QuandClic()
<CODE>
Feuil1 = ThisWorkbook.Worksheets("hypothèses")
Feuil2 = ThisWorkbook.Worksheets("charges")
Range("D4").Select
ActiveCell.FormulaR1C1 = "1"
Range("D6").Select
ActiveCell.FormulaR1C1 = "0"
Range("C35").Select
ActiveCell.FormulaR1C1 = "0.5"
Range("C36").Select
ActiveCell.FormulaR1C1 = "0.5"
Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
Range("C40").Select
ActiveCell.FormulaR1C1 = "0.5"
Feuil2.Range("F16").Select
ActiveCell.FormulaR1C1 = "3"
Feuil2.Range("G16").Select
ActiveCell.FormulaR1C1 = "3"
End Sub
Erreur de synthaxe !!!!
Vous voyez une erreur qq part?
Sub Bouton46_QuandClic()
<CODE>
Feuil1 = ThisWorkbook.Worksheets("hypothèses")
Feuil2 = ThisWorkbook.Worksheets("charges")
Range("D4").Select
ActiveCell.FormulaR1C1 = "1"
Range("D6").Select
ActiveCell.FormulaR1C1 = "0"
Range("C35").Select
ActiveCell.FormulaR1C1 = "0.5"
Range("C36").Select
ActiveCell.FormulaR1C1 = "0.5"
Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
Range("C40").Select
ActiveCell.FormulaR1C1 = "0.5"
Feuil2.Range("F16").Select
ActiveCell.FormulaR1C1 = "3"
Feuil2.Range("G16").Select
ActiveCell.FormulaR1C1 = "3"
End Sub
Voici la macro, elle fonctionne pile poil mais le souci c'est que les valeurs du premier paragraphe s'inscrive aussi ds la feuille "charges" (alors quelle ne concerne que des cellules dans la feuille "hypothèses"). Comment eviter cela?
Sub Bouton46_QuandClic()
Range("D4").Select
ActiveCell.FormulaR1C1 = "1"
Range("D6").Select
ActiveCell.FormulaR1C1 = "0"
Range("C35").Select
ActiveCell.FormulaR1C1 = "0.5"
Range("C36").Select
ActiveCell.FormulaR1C1 = "0.5"
Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
Range("C40").Select
ActiveCell.FormulaR1C1 = "0.5"
Sheets("Charges").Select
Range("F16").Select
ActiveCell.FormulaR1C1 = "=3"
Sheets("Hypothèses").Select
Sheets("Charges").Select
Range("E16").Select
ActiveCell.FormulaR1C1 = "=3"
Sheets("Hypothèses").Select
MErci bcp !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Vous etes mes sauveurs !!!!!
Sub Bouton46_QuandClic()
Range("D4").Select
ActiveCell.FormulaR1C1 = "1"
Range("D6").Select
ActiveCell.FormulaR1C1 = "0"
Range("C35").Select
ActiveCell.FormulaR1C1 = "0.5"
Range("C36").Select
ActiveCell.FormulaR1C1 = "0.5"
Range("C39").Select
ActiveCell.FormulaR1C1 = "1"
Range("C40").Select
ActiveCell.FormulaR1C1 = "0.5"
Sheets("Charges").Select
Range("F16").Select
ActiveCell.FormulaR1C1 = "=3"
Sheets("Hypothèses").Select
Sheets("Charges").Select
Range("E16").Select
ActiveCell.FormulaR1C1 = "=3"
Sheets("Hypothèses").Select
MErci bcp !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Vous etes mes sauveurs !!!!!
Rebonjour Olive60,
nous allons raisonner ce que tu fais.
1. sélectionne la feuille dans laquelle tu travailles ou celle dans laquelle tu veux inclure des valeurs.
ex.: Sheets("Charges").Select
2. programme tes instructions.
ex .: Range("F16").Select
ActiveCell.FormulaR1C1 = "=3"
ou en une seule ligne : Range("F16").FormulaR1C1 = "=3"
ou encore : Range("F16").Value= 3
3. continue les instructions comme en 2 ou sélectionne une nouvelle feuille comme en 1.
4. donne de l'air dans ta programmation, c'est beaucoup plus lisible.
Je recommence ta macro pour ta facilité. Tu la modifie comme tu veux.
Sub Bouton46_QuandClic()
Sheets("Hypothèses").Select
Range("F16").Select
ActiveCell.FormulaR1C1 = "=3"
...
Sheets("Charges").Select
Range("E16").Select
ActiveCell.FormulaR1C1 = "=3"
...
Sheets("Hypothèses").Select
End Sub
Comme je suis paresseux, voici comment je fais:
Sub Bouton46_QuandClic()
With Sheets("Hypothèses")
. Range("F16").Value = 3 'Ne pas oublier le point avant range
. Range("F16").Value = 3 'Ne pas oublier le point avant range
. Range("F16").Value = 3 'Ne pas oublier le point avant range
. Range("F16").Value = 3 'Ne pas oublier le point avant range
...
end with
With Sheets("Charges")
.Range("E16").Value = 5
.Range("E16").Value = 5
.Range("E16").Value = 5
.Range("E16").Value = 5
.Range("E16").Value = 5
...
end with
Sheets("Hypothèses").Select
End Sub
Bonne chance
Georges
nous allons raisonner ce que tu fais.
1. sélectionne la feuille dans laquelle tu travailles ou celle dans laquelle tu veux inclure des valeurs.
ex.: Sheets("Charges").Select
2. programme tes instructions.
ex .: Range("F16").Select
ActiveCell.FormulaR1C1 = "=3"
ou en une seule ligne : Range("F16").FormulaR1C1 = "=3"
ou encore : Range("F16").Value= 3
3. continue les instructions comme en 2 ou sélectionne une nouvelle feuille comme en 1.
4. donne de l'air dans ta programmation, c'est beaucoup plus lisible.
Je recommence ta macro pour ta facilité. Tu la modifie comme tu veux.
Sub Bouton46_QuandClic()
Sheets("Hypothèses").Select
Range("F16").Select
ActiveCell.FormulaR1C1 = "=3"
...
Sheets("Charges").Select
Range("E16").Select
ActiveCell.FormulaR1C1 = "=3"
...
Sheets("Hypothèses").Select
End Sub
Comme je suis paresseux, voici comment je fais:
Sub Bouton46_QuandClic()
With Sheets("Hypothèses")
. Range("F16").Value = 3 'Ne pas oublier le point avant range
. Range("F16").Value = 3 'Ne pas oublier le point avant range
. Range("F16").Value = 3 'Ne pas oublier le point avant range
. Range("F16").Value = 3 'Ne pas oublier le point avant range
...
end with
With Sheets("Charges")
.Range("E16").Value = 5
.Range("E16").Value = 5
.Range("E16").Value = 5
.Range("E16").Value = 5
.Range("E16").Value = 5
...
end with
Sheets("Hypothèses").Select
End Sub
Bonne chance
Georges
Je me suis trompé sur les formules que je t'ai donné, la vrai syntaxe c'est
ensuite tu dois choisir sur quelle feuille écrire:
Mais la méthode de Georges6180 fonctionne très bien aussi.
SET Feuil1 = ThisWorkbook.Worksheets("Hypothèses") SET Feuil2 = ThisWorkbook.Worksheets("Charges")
ensuite tu dois choisir sur quelle feuille écrire:
Feuil1.Range("...").Select(par exemple , si tu veux écrire sur Hypothèse)
Mais la méthode de Georges6180 fonctionne très bien aussi.