Visual Basic Application - Macro "Open Four Output #1 ne fonctionne plus

Anonyme
2023-01-07T17:06:55+00:00

Bonjour,

VBA - Excel 2010

Depuis le 7 mars 2004 cette macro VBA fonctionnait sans problème:

"Sub Lecture_Ecriture_Affinités_EuroMillions()

'

' Lecture_Ecriture_Fichier_EuroMillions Macro

' Macro enregistrée le 07/03/2004 par .............

'

Const A = 10000

Dim B(1 To A, 1 To 7) As Integer

Dim C As Integer, C1 As Integer, D As Integer, E As Variant, F As Integer

Dim Compteur(1 To 50, 1 To 50) As Integer

Dim intN1 As Integer, intN2 As Integer

Open "EUROMILLIONS\Euro_Millions/A_Partir_Résultats/Affinités_EuroMillions.xls" For Input As #1

For intN1 = 1 To 50

For intN2 = 1 To 50

Input #1, intN1, intN2, Compteur(intN1, intN2)

If intN2 = 50 Then GoTo suite1

Next intN2

suite1:

If intN1 = 50 Then GoTo suite2

Next intN1

suite2:

Input #1, C

Close #1

'C = C + 1

For C1 = C To A

For D = 1 To 7

Boucle_1:

E = InputBox("Saisir Nombre" & " " & D, "Tirage N°" & " " & C1 & " " & "(Pour FIN taper 0)"): F = E

If ((E > 50) Or (E < 0) Or (E = "")) Then MsgBox "Erreur de Saisie": GoTo Boucle_1

If ((E = 0) And (D = 1)) Then GoTo Fin_Saisie

B(C1, D) = F

Next D

Next C1

Fin_Saisie:

C1 = C1 - 1

For X = (C + 1) To C1

For intN1 = 1 To 50

For intN2 = 1 To 50

If B(X, 1) = intN1 And ((B(X, 1) = intN2) Or (B(X, 2) = intN2) Or (B(X, 3) = intN2) Or (B(X, 4) = intN2) Or (B(X, 5) _

= intN2)) Then Compteur(intN1, intN2) = (Compteur(intN1, intN2) + 1)

If B(X, 2) = intN1 And ((B(X, 1) = intN2) Or (B(X, 2) = intN2) Or (B(X, 3) = intN2) Or (B(X, 4) = intN2) Or (B(X, 5) _

= intN2)) Then Compteur(intN1, intN2) = (Compteur(intN1, intN2) + 1)

If B(X, 3) = intN1 And ((B(X, 1) = intN2) Or (B(X, 2) = intN2) Or (B(X, 3) = intN2) Or (B(X, 4) = intN2) Or (B(X, 5) _

= intN2)) Then Compteur(intN1, intN2) = (Compteur(intN1, intN2) + 1)

If B(X, 4) = intN1 And ((B(X, 1) = intN2) Or (B(X, 2) = intN2) Or (B(X, 3) = intN2) Or (B(X, 4) = intN2) Or (B(X, 5) _

= intN2)) Then Compteur(intN1, intN2) = (Compteur(intN1, intN2) + 1)

If B(X, 5) = intN1 And ((B(X, 1) = intN2) Or (B(X, 2) = intN2) Or (B(X, 3) = intN2) Or (B(X, 4) = intN2) Or (B(X, 5) _

= intN2)) Then Compteur(intN1, intN2) = (Compteur(intN1, intN2) + 1)

If intN2 = 50 Then GoTo suite3

Next intN2

suite3:

If intN1 = 50 Then GoTo suite4

Next intN1

suite4:

If X = C1 Then GoTo suite5

Next X

suite5:

Open "EUROMILLIONS\EURO_MILLIONS/A_Partir_Résultats/Affinités_EuroMillions.xls" For Output As #1

C = X

For intN1 = 1 To 50

For intN2 = 1 To 50

Print #1, intN1, intN2, Compteur(intN1, intN2)

Next intN2

Next intN1

Print #1, C

Close #1

End Sub "

La dernière fois qu'elle a bien fonctionné était le 30 décembre dernier.

Depuis le 3 janvier 2003 elle bloque sur :

=> Open "EUROMILLIONS\EURO_MILLIONS/A_Partir_Résultats/Affinités_EuroMillions.xls" For Output As #1

=> Sans aucun message d'erreur.

=> "Ctrl + Pause" inefficace pour l'arrêter.

=> Seule solution "Ctrl + Alt + Suppr" pour déconnexion.

Quelle(s) explication(s) ?

Quelle(s) solution(s)

Grands mercis.

Bien cordialement

Microsoft 365 et Office | Excel | Other | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
Anonyme
2023-01-18T10:05:58+00:00

Bonjour,

J'avais posté une réponse ce matin.

En réponse elle a été publiée une seconde fois sans aucun autre commentaire ?

J'ai voulu supprimer ce doublon et, en fait, les deux ont été supprimées; je réécris donc mon post de ce matin :

"Je voulais vous informer que, depuis ce matin, ma macro fonctionne de nouveau.

J'ai fait, via Windows Update, une recherche de mise à jour (la précédente est du 11 janvier) et effectivement il y a eu une "Mise à jour du 17 janvier 2023 pour Office 2013, Office 2010 ou Office 2007 (KB5021751)

Je ne sais si il y a une relation de cause à effet de par nos échanges ci-dessus mais, l'ayant téléchargée et installée, j'ai relancé ma macro et....miracle...elle fonctionne.

Merci encore.

Cordialement"

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

30 réponses supplémentaires

Trier par : Les plus anciens
  1. Anonyme
    2023-01-09T11:12:13+00:00

    Bonjour,

    Je vous remercie bien.

    Mais avant de faire les manips que vous m'indiquez je voudrais vous informer de investigations que j'ai menées et de leur résultat.

    J'ai copié tous les fichiers concernés sur un disque externe "F" et l'ai connecté sur un PC portable.

    En modifiant le chemin d'accès en conséquence bien entendu, j'ai réussi à faire fonctionner les deux macros (dont celle que je vous ai adressée) qui bloquent sur mon PC fixe; disque "C".

    Ensuite, à partir de mon PC fixe, j'ai à nouveau tenté de faire fonctionner ces macros :

    • Directement à partir du disque externe "F" d'abord,
    • Puis, ensuite, en copiant les fichiers sur "C" et en modifiant en conséquence le chemin d'accès.

    => Mais le problème persiste dans les deux cas.

    Il semble donc lié à mon PC fixe ?

    Dès lors est-ce cependant utile de vous adresser le fichier tel que vous l'avez souhaité ?

    Avec mes remerciements.

    Cordialement

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. DanielCo 107.1K Points de réputation
    2023-01-09T11:24:22+00:00

    Bonjour,

    "Dès lors est-ce cependant utile de vous adresser le fichier tel que vous l'avez souhaité ?"

    Non.

    Vérifie que tu as les droits d'écriture dans les dossiers que tu utilises.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2023-01-09T11:50:22+00:00

    Oui, j'ai bien les droits d'écritures dans les fichiers.

    La dernière mise à jour Windows date du 14/12/2022; or les macros ont fonctionné pour la dernière fois le 30/12/2022.

    Je ne me suis aperçu du problème que le 03/01/2023.

    Pourrait-il y avoir un lien avec le changement d'année ?

    Par ailleurs ces macros contiennent des compteurs qui s'incrémentent, au fil du temps.

    Mais le plus gros compteur affiche "141"; à priori j'exclus donc un dépassement de capacité ?

    Merci

    Cdlt

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. DanielCo 107.1K Points de réputation
    2023-01-09T13:45:12+00:00

    Tu peux avoir le droit d'écrire dans un fichier sans avoir celui d'écrire dans le répertoire.

    Tu ne peux pas avoir de problème de dépassement de capacité à l'ouverture du fichier.

    Un problème lié à une mise à jour est toujours possible, mais j'en doute dans ce cas.

    Réessaie en désactivant l'antivirus ?

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire