Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

execution code pas à pas ?

9 réponses
Avatar
olitoto
Bonjour à tous,

J'au une petite fonction dans un module , que je voudrais faire exécuter PAS
à PAS avec
la touche F8, mais excel n'en veut pas et émet un BIP sans message d'erreur.

Est ce quelqu'un peut me renseigner et m'aider ?

Merci d'avance,

Olivier

9 réponses

Avatar
MichDenis
Publie ta fonction ici... pas ton fichier !


"olitoto" a écrit dans le message de news:
OCc%
Bonjour à tous,

J'au une petite fonction dans un module , que je voudrais faire exécuter PAS
à PAS avec
la touche F8, mais excel n'en veut pas et émet un BIP sans message d'erreur.

Est ce quelqu'un peut me renseigner et m'aider ?

Merci d'avance,

Olivier
Avatar
olitoto
Bonjour MichDenis,

Je ne comprend pas ce que tu veux dire ...


Olivier

"MichDenis" a écrit dans le message de news:
O0YB$
Publie ta fonction ici... pas ton fichier !


"olitoto" a écrit dans le message de news:
OCc%
Bonjour à tous,

J'au une petite fonction dans un module , que je voudrais faire exécuter
PAS
à PAS avec
la touche F8, mais excel n'en veut pas et émet un BIP sans message
d'erreur.

Est ce quelqu'un peut me renseigner et m'aider ?

Merci d'avance,

Olivier





Avatar
MichDenis
Si le code de la fonction existe, tu publie ici dans ton message
le code de ta fonction...sinon ta question demande de jouer
au devin .... et je n'ai pas ce pouvoir là !


"olitoto" a écrit dans le message de news:
eEqVu%
Bonjour MichDenis,

Je ne comprend pas ce que tu veux dire ...


Olivier

"MichDenis" a écrit dans le message de news:
O0YB$
Publie ta fonction ici... pas ton fichier !


"olitoto" a écrit dans le message de news:
OCc%
Bonjour à tous,

J'au une petite fonction dans un module , que je voudrais faire exécuter
PAS
à PAS avec
la touche F8, mais excel n'en veut pas et émet un BIP sans message
d'erreur.

Est ce quelqu'un peut me renseigner et m'aider ?

Merci d'avance,

Olivier





Avatar
olitoto
"MichDenis" a écrit dans le message de news:

Si le code de la fonction existe, tu publie ici dans ton message
le code de ta fonction...sinon ta question demande de jouer
au devin .... et je n'ai pas ce pouvoir là !




Pardon Michdenis, voici ma fonction ,

--
Function SommeOnglet16(début, fin, c As Range)
Application.Volatile
t = 0
total = 0
For s = début To fin
total = Sheets(s).Range(c.Address).Value + total
t = t + 1
Next s
SommeOnglet16 = total
End Function

--
Je suis confronté avec cette fonction à un pb que je n'arrive pas à résoudre
: Elle est donc située dans un module ( le module1 en l'occurence) , et
quand je redemande le recalcul de la feuille, il se fait normalement et mes
valeurs sont mises à jour, , MAIS les données d'une autre feuille ouverte
sont modifiées,
Sait tu pourquoi ?

Olivier

Avatar
MichDenis
Ta fonction pourrait ressembler à ceci :

'------------------------
Function SommeDenis(Feuil1 As String, _
FeuilLast As String, c As Range)

SommeDenis = Application.Evaluate("Sum(" & _
Feuil1 & ":" & FeuilLast & "!" & c.Address)

End Function
'------------------------

Et dans une cellule : =SommeDenis("Feuil1";"Feuil3";A1)


Ou une autre façon :

'---------------------------
Function SommeDenis1(FirstFeuil As Integer, _
LastFeuil As Integer, c As Range)

SommeDenis1 = Application.Evaluate("Sum(" & _
Worksheets(FirstFeuil).Name & ":" & _
Worksheets(LastFeuil).Name & "!" & c.Address)

End Function
'---------------------------
Et dans une cellule : =SommeDenis1(1;3;A1)
1 = index de la première Worksheet
3 = index de la dernière worksheet
A1 = cellule à additionner


"olitoto" a écrit dans le message de news:
eiy2$

"MichDenis" a écrit dans le message de news:

Si le code de la fonction existe, tu publie ici dans ton message
le code de ta fonction...sinon ta question demande de jouer
au devin .... et je n'ai pas ce pouvoir là !




Pardon Michdenis, voici ma fonction ,

--
Function SommeOnglet16(début, fin, c As Range)
Application.Volatile
t = 0
total = 0
For s = début To fin
total = Sheets(s).Range(c.Address).Value + total
t = t + 1
Next s
SommeOnglet16 = total
End Function

--
Je suis confronté avec cette fonction à un pb que je n'arrive pas à résoudre
: Elle est donc située dans un module ( le module1 en l'occurence) , et
quand je redemande le recalcul de la feuille, il se fait normalement et mes
valeurs sont mises à jour, , MAIS les données d'une autre feuille ouverte
sont modifiées,
Sait tu pourquoi ?

Olivier

Avatar
olitoto
Je ne connais pas cette instruction ( Application.Evaluate) , et après
essais, ta fonction me renvoie 0 ( zéro), alors que mes trois cellules A1 en
Feuil1, Feuil2 et Feuil3 contiennent de valeurs > 0.

Je ne trouve pas mon erreur ...


Olivier


"MichDenis" a écrit dans le message de news:

Ta fonction pourrait ressembler à ceci :

'------------------------
Function SommeDenis(Feuil1 As String, _
FeuilLast As String, c As Range)

SommeDenis = Application.Evaluate("Sum(" & _
Feuil1 & ":" & FeuilLast & "!" & c.Address)

End Function
'------------------------

Et dans une cellule : =SommeDenis("Feuil1";"Feuil3";A1)


Ou une autre façon :

'---------------------------
Function SommeDenis1(FirstFeuil As Integer, _
LastFeuil As Integer, c As Range)

SommeDenis1 = Application.Evaluate("Sum(" & _
Worksheets(FirstFeuil).Name & ":" & _
Worksheets(LastFeuil).Name & "!" & c.Address)

End Function
'---------------------------
Et dans une cellule : =SommeDenis1(1;3;A1)
1 = index de la première Worksheet
3 = index de la dernière worksheet
A1 = cellule à additionner


"olitoto" a écrit dans le message de news:
eiy2$

"MichDenis" a écrit dans le message de news:

Si le code de la fonction existe, tu publie ici dans ton message
le code de ta fonction...sinon ta question demande de jouer
au devin .... et je n'ai pas ce pouvoir là !




Pardon Michdenis, voici ma fonction ,

--
Function SommeOnglet16(début, fin, c As Range)
Application.Volatile
t = 0
total = 0
For s = début To fin
total = Sheets(s).Range(c.Address).Value + total
t = t + 1
Next s
SommeOnglet16 = total
End Function

--
Je suis confronté avec cette fonction à un pb que je n'arrive pas à
résoudre
: Elle est donc située dans un module ( le module1 en l'occurence) , et
quand je redemande le recalcul de la feuille, il se fait normalement et
mes
valeurs sont mises à jour, , MAIS les données d'une autre feuille ouverte
sont modifiées,
Sait tu pourquoi ?

Olivier







Avatar
MichDenis
fichier exemple : http://cjoint.com/?ltpeiGePSw
Avatar
olitoto
Merci michdenis,

Ton exemple marche parfaitement bien ..... mais pas sur ma feuille. (j'ai
environ 40 onglets à verifier).
J'ai recopié ton code dans le module 1, j'ai modifié le nom de ma fonction
dans ma feuille,
et la fonction me renvoie toujours 0.

De plus ça ne me dit toujours pas pourquoi :
- une autre feuille ouverte en même temps est modifiée ,si je redemande le
recalcul
- je ne peux pas éxécuter pas à pas cette fonction pour la débugger.

A+

Olivier
Avatar
MichDenis
| j'ai modifié le nom de ma fonction dans ma feuille,
| et la fonction me renvoie toujours 0.

Il ne faut pas seulement modifier le nom de la fonction,
mais changer aussi dans la fonction elle-même son nom
si tu veux qu'elle affiiche le bon résultat dans ta feuille.


| une autre feuille ouverte en même temps est modifiée ,si je redemande le
| recalcul je ne peux pas éxécuter pas à pas cette fonction pour la débugger.

Trop peu d'informations pour statuer sur cela.