OVH Cloud OVH Cloud

probleme de portée de fonction VBA

3 réponses
Avatar
crunchh
bonjour a tous

salut j ai fait une petite fonction assez simple en vba ( je debute)

voici la fontion (elle est un peu plus complex en vrai mais pour que ce soit
comprehensible j ai enleve l inutile)





Function Sum3D(Ligne, Colone)
Application.Volatile
Sum3D = 0
Dim Index As Integer

For Index = 1 To 4

Sum3D = Sum3D + Sheets(Index).Cells(Ligne, Colone).Value
Next Index


End Function


cette fonction somme les celules A1 ( par exemple) de certain worksheet et
pas d autres ( j ai enlevé le code qui permet la selection des worksheet pour
plus de clarté)

la fonction marche tres bien
je l utilise ainsi some3d(row(),column())


jusque la pas de pb
mais j ai plein de fichiers et donc ils utilisent tous la meme fonction

et le pb c est que quand on eut comparer des celules entre fichier
alors la visiblement a chaque fois excel recalul mais en prenant les
valeurs du fichier actif

par exemple si je copie en A2 la cellule A1 du fichier 2 dans le fichier 1
pour la comparer j aurais le meme chiffre dans les 2 quoi qu il arrive


j ai essayé de metre la fonction private
d utiliser pour thisworksheet dans la fonction
d utiliser workbooks("blabla.xls").sheets(....

rien n a marché pour l instant

des idées ??

3 réponses

Avatar
squeepy
slt
je ne sais pas si tu fais ca ds chaq feuille de ton classeur,
mais ca marche pas si tu fé ca ds un module en public sub ou private sub ?


bonjour a tous

salut j ai fait une petite fonction assez simple en vba ( je debute)

voici la fontion (elle est un peu plus complex en vrai mais pour que ce soit
comprehensible j ai enleve l inutile)





Function Sum3D(Ligne, Colone)
Application.Volatile
Sum3D = 0
Dim Index As Integer

For Index = 1 To 4

Sum3D = Sum3D + Sheets(Index).Cells(Ligne, Colone).Value
Next Index


End Function


cette fonction somme les celules A1 ( par exemple) de certain worksheet et
pas d autres ( j ai enlevé le code qui permet la selection des worksheet pour
plus de clarté)

la fonction marche tres bien
je l utilise ainsi some3d(row(),column())


jusque la pas de pb
mais j ai plein de fichiers et donc ils utilisent tous la meme fonction

et le pb c est que quand on eut comparer des celules entre fichier
alors la visiblement a chaque fois excel recalul mais en prenant les
valeurs du fichier actif

par exemple si je copie en A2 la cellule A1 du fichier 2 dans le fichier 1
pour la comparer j aurais le meme chiffre dans les 2 quoi qu il arrive


j ai essayé de metre la fonction private
d utiliser pour thisworksheet dans la fonction
d utiliser workbooks("blabla.xls").sheets(....

rien n a marché pour l instant

des idées ??




Avatar
crunchh
malheureusement non

j ai essaye private et public et aucun des 2 ne resouds mon pb
mes macro sont dans un module

mais par contre juste pour preciser mon pb n est pas entre differentes
worksheet (onglets) mais endre differentes fichiers (worksheet par exemple
test1.xls test 2.xls ...)



slt
je ne sais pas si tu fais ca ds chaq feuille de ton classeur,
mais ca marche pas si tu fé ca ds un module en public sub ou private sub ?


bonjour a tous

salut j ai fait une petite fonction assez simple en vba ( je debute)

voici la fontion (elle est un peu plus complex en vrai mais pour que ce soit
comprehensible j ai enleve l inutile)





Function Sum3D(Ligne, Colone)
Application.Volatile
Sum3D = 0
Dim Index As Integer

For Index = 1 To 4

Sum3D = Sum3D + Sheets(Index).Cells(Ligne, Colone).Value
Next Index


End Function


cette fonction somme les celules A1 ( par exemple) de certain worksheet et
pas d autres ( j ai enlevé le code qui permet la selection des worksheet pour
plus de clarté)

la fonction marche tres bien
je l utilise ainsi some3d(row(),column())


jusque la pas de pb
mais j ai plein de fichiers et donc ils utilisent tous la meme fonction

et le pb c est que quand on eut comparer des celules entre fichier
alors la visiblement a chaque fois excel recalul mais en prenant les
valeurs du fichier actif

par exemple si je copie en A2 la cellule A1 du fichier 2 dans le fichier 1
pour la comparer j aurais le meme chiffre dans les 2 quoi qu il arrive


j ai essayé de metre la fonction private
d utiliser pour thisworksheet dans la fonction
d utiliser workbooks("blabla.xls").sheets(....

rien n a marché pour l instant

des idées ??






Avatar
ClémentMarcotte
Va donc lire ça maudit paresseux:

http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm?&gssnb=1

Ils disent:

Soignez votre orthographe, le langage de type "chat" ne s'applique pas au
groupe de discussion,

Soignez votre orthographe, le langage de type "chat" ne s'applique pas au
groupe de discussion,

Soignez votre orthographe, le langage de type "chat" ne s'applique pas au
groupe de discussion,

Soignez votre orthographe, le langage de type "chat" ne s'applique pas au
groupe de discussion,

Soignez votre orthographe, le langage de type "chat" ne s'applique pas au
groupe de discussion,

Soignez votre orthographe, le langage de type "chat" ne s'applique pas au
groupe de discussion,

Soignez votre orthographe, le langage de type "chat" ne s'applique pas au
groupe de discussion,
"squeepy" a écrit dans le message de
news:
slt
je ne sais pas si tu fais ca ds chaq feuille de ton classeur,
mais ca marche pas si tu fé ca ds un module en public sub ou private sub ?


bonjour a tous

salut j ai fait une petite fonction assez simple en vba ( je debute)

voici la fontion (elle est un peu plus complex en vrai mais pour que ce
soit


comprehensible j ai enleve l inutile)





Function Sum3D(Ligne, Colone)
Application.Volatile
Sum3D = 0
Dim Index As Integer

For Index = 1 To 4

Sum3D = Sum3D + Sheets(Index).Cells(Ligne, Colone).Value
Next Index


End Function


cette fonction somme les celules A1 ( par exemple) de certain worksheet
et


pas d autres ( j ai enlevé le code qui permet la selection des worksheet
pour


plus de clarté)

la fonction marche tres bien
je l utilise ainsi some3d(row(),column())


jusque la pas de pb
mais j ai plein de fichiers et donc ils utilisent tous la meme fonction

et le pb c est que quand on eut comparer des celules entre fichier
alors la visiblement a chaque fois excel recalul mais en prenant les
valeurs du fichier actif

par exemple si je copie en A2 la cellule A1 du fichier 2 dans le
fichier 1


pour la comparer j aurais le meme chiffre dans les 2 quoi qu il arrive


j ai essayé de metre la fonction private
d utiliser pour thisworksheet dans la fonction
d utiliser workbooks("blabla.xls").sheets(....

rien n a marché pour l instant

des idées ??