incrémenter une valeur dans une formule à chaque nouvelle ligne

fulliculli

XLDnaute Nouveau
Bonjour,

J'ai une formule avec un indice qui est un nombre entier dedans. J'aimerais copier cette formule d'une ligne à l'autre sur environ 1000 lignes et que à chaque nouvelle ligne l'entier en question soit incrémenté de 1. Comment faire?

Code:
=CQGPC|'newcvb(PIL,500,1,usetickvol)[-16]'!open

je veux qu'à chaque nouvelle ligne le [-16] soit incrémenté de -1 donc qu'à la ligne suivante j'aie:

Code:
=CQGPC|'newcvb(PIL,500,1,usetickvol)[-17]'!open

ETC...


merci !:confused:
 

Catrice

XLDnaute Barbatruc
Re : incrémenter une valeur dans une formule à chaque nouvelle ligne

Bonjour,

Il semble que ce soit un lien DDE, je ne crois pas que ce soit possible par formule.
Cette macro peut le faire :

Sub Test()
For i = 1 To 1000
Cells(i, 2).Formula = "=CQGPC|'newcvb(PIL,500,1,usetickvol)[" & -15 - i & "]'!open"
Next
End Sub
 

fulliculli

XLDnaute Nouveau
Re : incrémenter une valeur dans une formule à chaque nouvelle ligne

merci beaucoup !
mais comment éditer une macro ? Je suis sous OOo Calc, et je suis novice. Où dois-je écrire ce code? Faut-il le compiler ou autre? comment l'executer? merci !!!!:D

Mais une explication pour excel m'ira, je peux utiliser excel au pire !

EDIT:
J'ai cherché et trouvé comment écrire une macro et comment l'executer. Cependant, quand j'execute la tienne, au lieu de me remplir les cases de la colonne 2 sur 1000 lignes comme j'ai l'impression que c'est censé faire d'après ta macro, il y a une erreur à l'execution du code:
"Sous-procédure ou procédure de fonction non définie". Je me suis dis que ça venait peut être du "lien DDE", mais apparemment non vu que si je modifie ta macro comme ceci:

Sub Test()
For i = 1 To 1000
Cells(i, 2).Formula = i
Next
End Sub


ça ne fonctionne pas et j'ai la même erreur!
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : incrémenter une valeur dans une formule à chaque nouvelle ligne

Bonjour fulliculli, Catrice, le forum,

Il n'y a pas d'erreur : la formule est bien entrée dans les cellules.

Simplement, pour chaque entrée, un message d'alerte indique que pour calculer la formule, il faut lancer une autre application : CQGPC.exe.

Je n'ai rien trouvé sur le web la concernant.

Pour éviter ces messages, écrire en début de macro :

Application.DisplayAlerts = False

A+
 

Catrice

XLDnaute Barbatruc
Re : incrémenter une valeur dans une formule à chaque nouvelle ligne

Bonjour,

Je ne connais pas OOo Calc.
Mais si tu as un message d'erreur en utilisant :
Sub Test()
For i = 1 To 1000
Cells(i, 2).Formula = i
Next
End Sub

... c'est qu'il doit y avoir un probleme de syntaxe.
Car c'est un code basique.
Il faut voir comment traduire cette ligne :
Cells(i, 2).Formula = i

Je ne sais pas si Application.DisplayAlerts = False fontionne sous OOo Calc ;)
 

fulliculli

XLDnaute Nouveau
Re : incrémenter une valeur dans une formule à chaque nouvelle ligne

Merci à tous les deux ! Mon problème est résolu !

Je partage aussi avec vous une autre solution: on pourrait aussi utiliser la fonction LIGNE() qui renvoie le numéro de la ligne en cours !

au revoir!
 

Catrice

XLDnaute Barbatruc
Re : incrémenter une valeur dans une formule à chaque nouvelle ligne

Re,

La fonction LIGNE() est la premiere solution à laquelle j'ai pensé, en l'utilisant avec INDIRECT.
Mais malheureusement INDIRECT n'a pas l'air de fontionner sur un lien DDE ...

Tu n'obtiendras donc qu'une ligne de texte avec une référence incrémentée mais pas de lien dynamique.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87