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

[Q] [VBA] Formule VBA sous OFFICE MAC [WAS] Formule VBA et ParamArray => comment sélectionner une zone?

1 réponse
Avatar
JCF
[Q] [VBA] Formule VBA sous OFFICE MAC [WAS] Formule VBA et ParamArray =>
comment sélectionner une zone?

Bonjour à tous!
Je cherche des utilisateurs de Office Mac pour résoudre ce problème.
Je cherche à créer une fonction VBA utilisable dans mes calculs dans une
feuille XL, qui permette de prendre comme variables des cellules comme des
plages de cellules, de la même façon que la fonction SUM accepte cela: une
ou plusieurs cellules et/ou plages de cellules.
Donc pour trouver une solution nous avons recherché à recréer une fonction
SUM (allez voir [Q] [VBA] Formule VBA et ParamArray => comment sélectionner
une zone? si vous voulez retrouver l'histoire: au début j'essayais de le
faire avec ParamArray).

Donc voici le code trouvé:
--------------------------------------------------
Function IFAT(Plage As Range) As Long
Dim C As Range, Z As Range, Tot As Double

For Each Z In Plage.Areas
    For Each C In Z.Cells
        If IsNumeric(C) Then Tot = Tot + C
    Next C
Next Z

IFAT = Tot
End Function
--------------------------------------------------

Ou une variante:
--------------------------------------------------
Function IFAT2(Plage As Range)
Dim i&, j&
For i = 1 To Plage.Areas.Count
For j = 1 To Plage.Areas(i).Count
If IsNumeric(Plage.Areas(i).Cells(j).Value) _
Then IFAT2 = IFAT2 + Plage.Areas(i).Cells(j).Value
Next j
Next i
End Function
---------------------------------------------------


Pour que ces formules marchent, il faut doubler le set de parenthèses, comme
dans l'exemple que voici:

=IFAT((A6:D6;E6:F6;G6:H6))


Or incroyable, alors que cette formule marche parfaitement chez le
collistier qui me l'a proposé, sur mon mac ça me renvoie l'erreur "Compile
error: syntax error" , que je fasse une compilation ou que j'essaye
d'utiliser la formule!! :-((


Alors pourriez-vous chers colistiers utilisateurs d'un Office Mac:
- Tester le code mentionné ci dessus sur votre propre machine, pour voir si
le problème est lié à ma machine ou s'il s'agit d'une incompatibilité entre
les deux VBA...
- Eventuellement me proposer des correctifs ou des solutions pour contourner
le problème :-)
- Ou me proposer un autre moyen d'atteindre mon but :-)
A+ et merci d'avance pour votre aide!
Jean-Christophe
Sent using the Microsoft Entourage 2004 for Mac Test Drive.

1 réponse

Avatar
pbezou
JCF wrote:

Or incroyable, alors que cette formule marche parfaitement chez le
collistier qui me l'a proposé, sur mon mac ça me renvoie l'erreur "Compile
error: syntax error" , que je fasse une compilation ou que j'essaye
d'utiliser la formule!! :-((


J'ai pas testé, puisque Bernard l'a fait, mais si cela ne marche pas
chez toi tu peux essayer la chose suivante :
1) Créer un nouveau module
2) Copier-coller le code VBA de l'ancien module vers le nouveau créer
(tel quel, sans modif)
3) Supprimer l'ancien module.

Je ne garantie rien, c'est juste une suggestion.

--
MVP Microsoft Mac
www.makiciel.com
Retrouver les Grand Prix de F1 et le Top 50 du 3ème millénaire
(Enlever "EnTrop" dans l'adresse pour me contacter par mail)