Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion SPEA
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

SPEA

XLDnaute Occasionnel
Bonjour le forum,

Dans mon classeur une macro recopie les données en provenance de 12 feuilles vers une feuille "Bilan" sur les colonnes A à W. Sur les colonnes X à AN de cette meme feuille des calculs sont effectués.

Je cherche à effectuer ces calculs par macro VBA, de telle facon dés qu'une ligne est ajoutée les calculs soient effectués automatiquement.

Merci.
 

Pièces jointes

Re : Calculs en VBA

🙂 Bonjour SPEA,
A tu essayé avec l'éditeur de Macro ?
Tes formules existent : il suffit peut-être de les copier
sur une plage voulue ?
Avec la colonne AA ca donne ca !

Sub AA()
' Macro enregistrée le 04/08/2007 par papapaul
Range("AA2").Select
Selection.Copy
Range("AA2:AA50").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub
Si tu connais pas, voici comment faire 🙄
Outils, Macro, Nouvelle Macro
click sur AA2, edition, copier, selection de AA2 appuyer sur Maj
click derniere cellule de la plage voulue (ici j'ai pris AA50)
edition, collage speciale, formules, outils, macro, arret de l'enregistrement.

Tu peux donc faire une macro pour chaque colonne.
Ensuite : Tu pourra crée un module qui fera toutes les colonnes
en même temps en y mettant dedans
call AA, call AB etc...

Ai-je compris ta question ?

Bonne journée sur XLD
 
Re : Calculs en VBA

😉 Tu peux aussi tout faire en même temps :

Range("X2:AN2").Select
Selection.Copy
Range("X2:AN50").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

A la place de 50, tu mets ce que tu veux :
Sur les lignes vides va apparaitre des 0 ou des #N/A ou Valeur
On peut les "effacer" avec VBA mais je sais plus comment.
Y a des solutions sur le forum.
 
Re : Calculs en VBA

En fait j'ai mis au point des formules pour calculer les colonnes X à AN et je voudrais le faire par VBA...

A la limite si on m'explique pour les premieres colonnes je peux essayer, avec mon modeste niveau, d'adapter sur les colonnes suivantes.

Merci.
 
Re : Calculs en VBA

Salut SPEA,

Une petite question, pourquoi veux tu faire ça en VBA !?

Une recopie des formules ne te va pas ?

Sinon tu trouveras ci-dessous ton fichier avec plusieurs macros, pour la recopie de tes formules 😉

A+
 

Pièces jointes

Dernière modification par un modérateur:
Re : Calculs en VBA

bonjour SPEA
Salut Papapaul
Salut Bruno

solution qui rejoint celle de Bruno et pourrait satisfaire SPEA
(sous condition de conserver les formules en X2:AN2)

a mettre en feuille Bilan

Code:
Private Sub Worksheet_Activate()
   Range("X2:AN2").AutoFill Destination:=Range("X2:AN" & Range("A65536").End(xlUp).Row), Type:=xlFillDefault
End Sub
 
Re : Calculs en VBA

🙂 Bonjour tous, Bruno
Ca c'est du vite fait bien fait.
Comment t'a fait pour transformer (copier) toutes les formules
en VBA aussi vite ?
Modestement avec l'enregistreur de macro, toujours lui...
je me suis amusé à construire ca. C'est OK
Sub NBVAL()
Range("E2:E5").Select
Selection.FormulaR1C1 = "=COUNTA(RC[-4]:RC[-1])"
Range("E2:E5").Select
End Sub
Sub NBSI()
Range("F2:F5").Select
ActiveCell.FormulaR1C1 = "=COUNTIF(RC[-5]:RC[-1],"">2"")"
Range("F2:F5").Select
End Sub
Avec des fonctions imbriquées, pas sur du tout que
je sois capable d'y arriver.
Je m'interroge, si j'arrive à faire une formule compliquée
du genre si(index(equiv..avec l'assistant fonction d'excel
Est-il possible de transformer directement en VBA sans
passer par l'enregistreur ?
J'ai l'impression que tu a procéder ainsi ?
Excuse si ma question te parait idiote mais j'utilise tres
rarement les formules.

Bonne journée à tous Soleil 😀
 
Re : Calculs en VBA

Bonjour Bruno, Pierrejean, le fil

Je voulais passer par des calculs en VBA notamment pour eviter que d'autres utilisateurs de ce fichier n'aient accés aux formules ou ne puissent les modifier.

Mais si c'est trop complexe à mettre en oeuvre je me satisfait trés bien de la solution proposée de recopie des formules.

Merci
 
Re : Calculs en VBA


Une solution simple est d'utiliser mon code "CopieFormules1" et à la fin du code après le recopier vers le bas, tu fais un copier/coller valeur !
Ce qui donne :
Code:
  ' Recopie des formules vers le bas
  Sht.Range("X2:AN" & DerLig).FillDown
  Sht.Range("X2:AN" & DerLig).Copy
  Sht.Range("X2:AN" & DerLig).PasteSpecial Paste:=xlPasteValues

Comme ça hop, plus de formule, que les résultats 😉

A+
 
Re : Calculs en VBA

papapaul à dit:
🙂 Bonjour tous, Bruno
Ca c'est du vite fait bien fait.
Comment t'a fait pour transformer (copier) toutes les formules
en VBA aussi vite ?
J'ai appris la dactylo, dans ma jeunesse 😀

 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
23
Affichages
673
Réponses
6
Affichages
638
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…