[RESOLU] comment dupliquer une formule

comment dupliquer une formule [RESOLU] - VB/VBA/VBS - Programmation

Marsh Posté le 06-06-2005 à 15:41:50    

Bonjour,
 
J'ai besoin de réécrire une formule plusieurs fois.
J'aimerais bien savoir comment on fait par exemple pour reproduire une formule dont le résultat est dans une colonne C et qui fait un traitement sur les colonne A et B.
J'ai essayer avec une boucle
 
ex: for i=0 to nb_ligne  
Application.Sheets(S_station).Cells(i, "O" ).Formula = "=FIND(""_"",$C" & i" )"
 
mais je n'y arrive. Je ne sais pas comment faire pour mettre le i dans la formule.
J'essaie aussi avec des sélection mais je n'y arrive pas non plus.
 
Merci beaucoup de vos réponses


Message édité par cole le 18-07-2005 à 13:27:47
Reply

Marsh Posté le 06-06-2005 à 15:41:50   

Reply

Marsh Posté le 07-06-2005 à 08:38:11    

KK1 sait-il comment faire s'il vous plait pour réécrire une formule dans plusieurs cases. J'ai essayer de d'enregistrer la macro en dupliquant la formule mais C bizarre les formules sont bien dans les cellules mais ont dirait qu'elles ne s'exécutent pas(le résultat de la formule est faux, il faut que je clique sur la barre des formules et entrer pour que le résultat bon s'affiche)
Merci

Reply

Marsh Posté le 08-06-2005 à 09:42:25    

Essaye ça. Dans C2 j'écris "=A$2$*B$2$" et je copie la formule dans D2. Le résultat est identique.
 
Sub test()
    Range("C2" ).Select
    ActiveCell.FormulaR1C1 = "=R2C1*R2C2"
    Range("C2" ).Select
    Selection.Copy
    Range("D2" ).Select
    ActiveSheet.Paste
End Sub

Reply

Marsh Posté le 11-07-2005 à 16:27:07    

Non çà ne marche pas mais j'ai réussi à faire autrement. Là je suis sur un nouveau programme et j'ai le même problème.
voici le bout de code :
For i = 0 To 2
     lettre = Switch(i=0,"B",i=1,"C",i=2,"D" )
     Cells(nbclient + 3, i + 2).Formula = "=SOMME(" & lettre & "3:" & lettre & (nbclient + 2) & " )"
Next i
 
Le problème est toujours le même quand j'ouvre mon fichier excel dans les cellules il y a bien les formules mais les cellules affiche #NOM? il faut que je clique sur la cellule puis que j'appuie sur entrer pour que la cellule s'active et affiche le résultat.
 
Merci de votre aide

Reply

Marsh Posté le 11-07-2005 à 17:41:43    

Beaucoup plus simple:

For i = 0 To 2
  Cells(nbclient + 3, i + 2).FormulaR1C1 = "=SOMME(R3C:R[-2]C)"
Next i



---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 12-07-2005 à 09:05:17    

Oui c'est plus clair et plus facile par contre çà me fait toujours la même chose. Quand j'arrive sur la page j'ai "#NOM?" dans la cellule. Pour avoir le résultat je doit cliquer sur la cellule puis dans la barre de formule pour voir le cadre bleu de somme puis de sortir. Merci d'avance de votre aide

Reply

Marsh Posté le 12-07-2005 à 11:54:47    

avec la methode AutoFill.

Code :
  1. Cells(1,"C" ).Formula = "=A1 + B1"
  2. Range("C1" ).AutoFill Destination :=Range(Cells(1, "C" ), Cells(Cells(Rows.Count, "A" ).End(xlUp).Row, "C" ))


Message édité par guendalf le 12-07-2005 à 12:00:03

---------------
Guendalf
Reply

Marsh Posté le 12-07-2005 à 23:49:52    

J'ai compris.
J'avais testé au boulot où Excel est en anglais et j'avais mis SUM à la place de SOMME.
Puis j'avais retraduit SUM en SOMME avant de mettre la formule sur le forum.
 
Eh bien, il fallait pas!
Voici la bonne formule (testé sous Excel Français, chez moi):

For i = 0 To 2  
  Cells(nbclient + 3, i + 2).FormulaR1C1 = "=SUM(R3C:R[-2]C)"  
Next i


Message édité par AlainTech le 12-07-2005 à 23:51:27

---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 15-07-2005 à 15:33:12    

AlainTech > En meme temps je vois pas pourquoi tu fais une boucle, alors que la methode AutoFill sert uniquement a faire ce que cherche cole...


---------------
Guendalf
Reply

Marsh Posté le 15-07-2005 à 18:00:28    

J'ai juste essayé de RESOUDRE (et pas contourner) le problème qu'il rencontrait.
 
Ce qui m'a intéressé dans son problème, c'est la raison du "#NOM?" et j'ai trouvé.
 
Ceci dit, je n'ai pas cherché à savoir s'il y avait une meilleure méthode pour réaliser ce qu'il cherchait à faire.
Toi, tu l'as fait.
 
cole a donc maintenant et la raison du plantage et une meilleure solution.
 
L'union fait la force (c'est notre devise, je suis belge).
 
A+


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 15-07-2005 à 18:00:28   

Reply

Marsh Posté le 18-07-2005 à 10:34:03    

Merci beaucoup à vous deux ;)

Reply

Sujets relatifs:

Leave a Replay

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