Boucle avec incrément et références contenant des formules

Signaler
Messages postés
3
Date d'inscription
jeudi 19 septembre 2013
Statut
Membre
Dernière intervention
30 septembre 2013
-
Messages postés
3
Date d'inscription
jeudi 19 septembre 2013
Statut
Membre
Dernière intervention
30 septembre 2013
-
Bonjour,

J'ai réalisé un petit algorithme que j'aimerais implémenter sous VBA. Le problème c'est que je n'ai aucune idée de comment le réaliser. En effet, certaines référence de cellules contiennent des formules et je ne sais pas faire ça. Voilà à quoi je voudrais que ça ressemble :

Donc on part d'un classeur Excel avec différentes feuilles déjà créées et dont certaines cellules sont déjà remplies. Il y a une feuille Synthèse, une Tr, une Données et un grand nombre de feuille (Nb_mesure) dont le nom est le numéro de la mesure à laquelle elle est associée (feuille "i" pour la ième feuille de ce type).

Voilà l'algorithme que j'aimerais appliquer :

Pour i=1:Nb_mesure
Feuille "i"/R4:AH4=Données/I(10+31(i-1)):I(26+31(i-1))
Feuille "i"/R5:AH5=Données/Q(10+31(i-1)):Q(26+31(i-1))
Feuille "i"/R6:AH6=Données/Y(10+31(i-1)):Y(26+31(i-1))

Feuille"i"/R9:AH9=Tr/E(Synthèse/E(i+1)):U(Synthèse/E(i+1))

Synthèse/R(i)=Feuille "i"/AK18-Feuille "i"/AN18

Fin

Comme vous pouvez le voir, les références de cellule contiennent des formules assez compliquées.

Merci pour vos réponses

4 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour,
Je trouve bien dommage que tu n'aies pas l'air de savoir quelle est la différence entre VBA (ton langage de développement- et VB.Net (la présente section). Ce sont deux langages complètement différents !
Je vais dans ces conditions (et à condition d'avoir bien compris ton problème) me contenter d'ouvrir ton aide VBA sur la propriété FormulaR1C1 et de lire.
Messages postés
30430
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2020
338
Bonjour,

voici un exemple de ce qui peut être fait
Sub test()
For i = 1 To 3
    Sheets(i).Range("C4:C10").FormulaLocal = "=A1+A2"
Next
End Sub


NB: Plutôt que d'utiliser FormulaR1C1 comme le disait Ucfoutu, je préfère utiliser FormulaLocal


Ensuite, pour votre exemple...
Données => On ne sait pas ce que c'est ni ce que ça vaut.
Idem pour Synthèse..

Bref, maintenant vous savez comment faire une boucle sur les feuilles...et comment y mettre des formules..
Y'a plus qu'a.. :-)


Cordialement,
Jordane
Messages postés
3
Date d'inscription
jeudi 19 septembre 2013
Statut
Membre
Dernière intervention
30 septembre 2013

Bonjour, désolé pour cette confusion, chacun son domaine de connaissance, j'ai vu VB, j'ai posté.
Messages postés
3
Date d'inscription
jeudi 19 septembre 2013
Statut
Membre
Dernière intervention
30 septembre 2013

Merci pour ces premiers éléments, je vais déjà essayer ça. En ce qui concerne les différentes feuilles, je pourrais donner plus de détail mais je doute que ce soit très utile. J'ai simplement besoin de récupérer certaines lignes qui sont dans le fichier données (des données provenant d'un copier coller d'un autre logiciel, ces données respectent donc une mise en forme régulière : je récupère 16 valeurs consécutives toutes les 31 cellules et chaque bloc de 16 valeurs doit être collé sur une feuille différente) pour les copier sur une feuille de calcul déjà existante et copier le résultat fourni par cette feuille dans la feuille de synthèse.