XL pour MAC Déboggage VBA Mac

Mathilde22

XLDnaute Nouveau
Bonjour,

Je bloque lors de l'exécution de la macro 1 dans le fichier joint
J'ai le message d'erreur suivant : Erreur d'exécution "6" : dépassement de capacité

Merci d'avance
 

Pièces jointes

  • ProgVBA.xlsm
    19.6 KB · Affichages: 27
Solution
Dim codeModule$ : idem que Dim codeModule As String

il ne peut pas y avoir d'erreur pour ça : M11 est bien du texte :
c'est une chaîne de 3 caractères.

--------------------------------------------------------------------


Dim nbhPrev%, nbhReal% : idem que :
Dim nbhPrev As Integer, nbhReal As Integer

15 et 4 sont des nombres entiers qui tiennent sans aucun
problème dans une variable du type entier
Integer ; pas
d'erreur possible de c'côté-là non plus.

--------------------------------------------------------------------

ah, j'crois bien qu'j'ai trouvé ; essaye avec :


nbhPrev = Val(InputBox("Nombre d'heures...

soan

XLDnaute Barbatruc
Inactif
j'ai pas compris :

* Ctrl A sélectionne toute la feuille
* Ctrl V fais un coller
* F5 affiche la fenêtre « Atteindre »

si tu as voulu dire que « calendrier 1904 » a déjà été mentionné avant dans
la conversation, alors désolé : c'est sans le vouloir, et j'ai pas l'temps d'lire
toute la conversation depuis le début !

toutefois, même si ça a déjà été dit avant, peut-être que ça sera utile
@Mathilde22 de le refaire avec mes 2 codes VBA ?


soan
 

Staple1600

XLDnaute Barbatruc
Re

soan
Je voulais juste que c'était pas long de tester mon bout de code
(Juste faire Copier/Coller dans VBE puis appuyer sur F5)
On a du mal à se comprendre ;)
Mon propos était juste informatif
Dans Excel, par défaut, si on saisit: 1-2020 dans une cellule
On obtient le 1er jour de l'année => 01/01/2020
Et cela fonctionne aussi dans VBA
D'où le petit test du message#68.
qui illustrait qu'on pouvait remplacer "1/1/" par "1-"

PS: j'ai écrit qu'on pouvait, ce n'était qu'une suggestion.
 

soan

XLDnaute Barbatruc
Inactif
j'viens d'faire ton test "1-2010" ; tu as raison, ça met "janv-10"
dans la cellule et 01/01/2010 dans la barre de formule.

comme je mets toujours les dates « à la française », avec des « / »,
j'oublie toujours que ça marche aussi avec des tirets.

cependant, même avec des tirets, j'préfère "1-1-2010" à "1-12010", donc avec
2 tirets ; c'est comme le cocktail créole crème, avec 2 olives ; n'est-ce pas,
Danny ? n'est-ce pas, Brett ? n'est-ce pas, Staple ? :p


soan
 

soan

XLDnaute Barbatruc
Inactif
@Mathilde22

vraiment à tout hasard, essaye avec :

dateDebut = dateFin + ((numSemaine - 1) * 7)

c'est juste au cas où sur MacIntoch l'ordre de priorité des opérations
ne serait pas le même que sur PC ; car dans c'cas, avec l'expression
initiale
dateDébut = datefin + (numSemaine - 1) * 7 :

a) numSemaine est initialisé à 1

b) (numSemaine - 1) = 0

c) datefin + (numSemaine - 1) = datefin + 0 = datefin

d) datefin * 7 = erreur 6 dépassement de capacité si datefin * 7
tombe au-delà de la date maxi (par rapport à la plage des dates,
selon le calendrier 1904 de ton MacIntosh)


soan
 

Mathilde22

XLDnaute Nouveau
@soan @Staple1600

C'est bien les résultats du post #70 qu'il me faut, jusqu'à S52 ou S53 selon les années.
J'ai rajouté le slash à la fin de la dateDebut mais cela ne résout pas le problème.
J'ai également essayé en mettant ((numSemaine-1)*7) entre parenthèse mais il y a toujours la même erreur.
Enfin, j'ai aussi activer/désactiver utiliser le calendrier depuis 1904 mais rien n'y fait.
C'est pas grave il fonctionne sous Windows donc ça vient pas du programme 😉

C'est pour un master en Actuariat / Statistiques.
L'exercice est de donner la date de chaque lundi de l'année en partant du 01/01/... si le premier jour est compris entre lundi et jeudi.

Mathilde
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
Bonjour @Mathilde22,

bravo pour toutes les infos claires et détaillées de ton post #81 !

un autre essai, à tout hasard ; modifie ainsi la condition du Loop :


Loop Until (Year(dateDebut) > noAnnee) Or (numSemaine > 53)

ça pourrait éviter ton message d'erreur « 6 : Dépassement de capacité »,
mais j'comprends pas pourquoi mon code VBA marche bien sur un PC
et pas sur un MacIntosh.

j'ai rien d'autre à proposer. :confused:


soan
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, Mathilde22, soan

=>Mathilde22
Merci d'avoir répondu à ma question sur ton cursus
(cf message#80)


j'ai rien d'autre à proposer.
Moi, j'ai cela à proposer (juste pour le fun, et confinement oblige)
VB:
Sub Pour_Le_Fun()
noAnnee = InputBox("Année?", "Exo", Year(Date))
[B1] = DateSerial(noAnnee, 1, 4) - Weekday(DateSerial(noAnnee, 1, 4), vbMonday) + 1
[A1:A53] = "=""Sem.""&ROW()"
[B2:B53].FormulaR1C1 = "=WORKDAY.INTL(R[-1]C,1,""0111111"")" '=>*
[B1:B53].NumberFormat = "dddd d mmmm yyyy"
    With [A1].CurrentRegion
        .Borders.Weight = 2
        .Columns.AutoFit
        .Value = .Value
    End With
'*: crédit formule : JHA
End Sub
Je ne suis pas sur que cela fonctionne sous Mac.
(Sur PC, oui, je viens de tester)
 

Mathilde22

XLDnaute Nouveau
Bonsoir le fil, Mathilde22, soan

=>Mathilde22
Merci d'avoir répondu à ma question sur ton cursus
(cf message#80)



Moi, j'ai cela à proposer (juste pour le fun, et confinement oblige)
VB:
Sub Pour_Le_Fun()
noAnnee = InputBox("Année?", "Exo", Year(Date))
[B1] = DateSerial(noAnnee, 1, 4) - Weekday(DateSerial(noAnnee, 1, 4), vbMonday) + 1
[A1:A53] = "=""Sem.""&ROW()"
[B2:B53].FormulaR1C1 = "=WORKDAY.INTL(R[-1]C,1,""0111111"")" '=>*
[B1:B53].NumberFormat = "dddd d mmmm yyyy"
    With [A1].CurrentRegion
        .Borders.Weight = 2
        .Columns.AutoFit
        .Value = .Value
    End With
'*: crédit formule : JHA
End Sub
Je ne suis pas sur que cela fonctionne sous Mac.
(Sur PC, oui, je viens de tester)

Ca fonctionne sur Mac ;)

Mathilde
 

Staple1600

XLDnaute Barbatruc
Re

Nous sommes arrivés au post#84 et l'on peut donc constater que le Maciste est une denrée rare sur le forum.
Donc Macistes du forum, offrez vos capacités cognitives en passant dans ce fil pour qu'on finisse par comprendre pourquoi dépassement de capacités sur Mac il y a.
;)
 

Discussions similaires

Réponses
3
Affichages
374
Réponses
2
Affichages
135

Statistiques des forums

Discussions
312 229
Messages
2 086 425
Membres
103 206
dernier inscrit
diambote