inscrire une formule dans une cellule

inscrire une formule dans une cellule - VB/VBA/VBS - Programmation

Marsh Posté le 11-01-2013 à 23:10:12    

Bonjour,
Je chercher à inscrire une formule dans une cellule. Voici le code tapé :
Sheets("Graphiques" ).Select
    Range("B2" ).Select
    ActiveCell.FormulaLocal = "=NB.SI('Recap données'!H:H,Graphiques!A2)"
    Range("B2" ).Select
    Selection.AutoFill Destination:=Range("B2:B7" ), Type:=xlFillDefault
    Range("B2:B7" ).Select
 
J'ai une erreur 1004 et je ne comprends pas pourquoi.
 
Pourriez-vous m'aider s'il vous plait ?
 
Cordialement

Reply

Marsh Posté le 11-01-2013 à 23:10:12   

Reply

Marsh Posté le 12-01-2013 à 11:52:02    

 
             Bonjour !      Merci de préciser quelle ligne déclenche l'erreur ‼
 
             Dans ce cas, c'est clair que cela vient de la .FormulaLocal …
 
             Pour la compréhension, prendre le problème à l'envers !
 
             Entrer manuellement dans une cellule la formule puis vérifier qu'elle fonctionne.
             Sélectionner la cellule (elle doit donc être active).
 
             Ouvrir l'éditeur VBA, dans la fenêtre Exécution (l'ouvrir si besoin via le menu Affichage)
             entrer ?  activecell.formulalocal et valider.
 
             Et là j'attends ton retour !
 
 
             Astuces :
 
         ► Eviter les .Activate & .Select autant que possible car cela alourdit le code et rend son exécution plus lente ‼
 
             Exemple :

Code :
  1.  Range("B2" ).AutoFill Range("B2:B7" )

             C'est plus rentable de directement manipuler les objets …
 
         ► Dans le cas d'entreprise internationale (Excel en différentes langues),
             mieux vaut directement travailler avec .Formula au lieu de .FormulaLocal.
             Là le code fonctionnera indépendamment de la langue locale d'Excel …
 
             En utilisant la même procédure, entrer manuellement la formule dans une cellule, la laisser active
             puis voir dans la fenêtre Exécution de l'éditeur VBA sa formule interne via ?  .activecell.formula


Message édité par Marc L le 12-01-2013 à 15:23:13
Reply

Marsh Posté le 14-01-2013 à 16:21:31    

Bonjour Marc L,
Tout d'abord merci pour votre réponse.
Effectivement l'erreur 1004 provient de .FormulaLocal
Je suis désolé mais je ne comprends toujours pas l'erreur. Je cherche comme énoncé ci-dessus mais n'étant que débutant en vba je ne saisis pas d'où provient mon erreur.
Pourriez-vous m'aider un peu plus ?

Reply

Marsh Posté le 15-01-2013 à 11:57:25    

J'ai trouvé comment y remédier.
Voici comment j'ai procédé :
Sheets("Graphiques" ).Select
Range("B2" ).Select
    ActiveCell.FormulaR1C1 = "=COUNTIF('Recap données'!C[6],Graphiques!RC[-1])"
    Range("B2" ).Select
    Selection.AutoFill Destination:=Range("B2:B7" ), Type:=xlFillDefault
    Range("B2:B7" ).Select
    Range("C2" ).Select
 
Encore merci pour l'aide apportée.

Reply

Marsh Posté le 16-01-2013 à 21:27:59    

 
               Bien,  mais il y avait une méthodologie pour t'en sortir dans ma réponse …
 
               Au passage, tes 2 dernières lignes ne servent à rien ‼
 

Reply

Marsh Posté le 16-01-2013 à 21:42:18    

OK merci.
JE suis désolé mais je ne comprends pas toutes les subtilités de vba car je commence seulement à m'y mettre.
Mais soit sur que tes infos me serviront. Je m'y pencherais dès que le pourrais.
Encore merci pour cette méthodologie.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed