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 récents
  1. Anonyme
    2023-01-08T10:11:46+00:00

    Pourquoi un mélange de / et \ dans le chemin d'accès ?

    "EUROMILLIONS\EURO_MILLIONS/A_Partir_Résultats/Affinités_EuroMillions.xls"

    Bonne remarque, je n'en sais rien. Mais cela a toujours fonctionné ainsi. Je vais tenter de modifier

    En fait, je pense qu'il s'agit effectivement un fichier "txt". D'abord, en manipulant le fichier, j'ai un message qui m'avertit d'une modification de l'extension et, quand je l'ouvre, j'aperçois ".xls.txt"

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

    0 commentaires Aucun commentaire
  2. Anonyme
    2023-01-08T10:05:52+00:00
    1. As-tu essayé ce que je t'ai demandé ?

    Oui, ça ne fonctionne pas

    1. Peux-tu partager le fichier ?

    D'une part je ne sais comment faire, d'autre part je n'arrive pas à masquer mes données personnelles.

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

    0 commentaires Aucun commentaire
  3. Hecatonchire 54,030 Points de réputation Modérateur bénévole
    2023-01-08T09:59:49+00:00

    Bonjour

    Pour moi c'est un fichier texte avec une mauvaise extension mais passons.

    Pourquoi un mélange de / et \ dans le chemin d'accès ?

    "EUROMILLIONS\EURO_MILLIONS/A_Partir_Résultats/Affinités_EuroMillions.xls"

    Ca devrait être plus

    "EUROMILLIONS\EURO_MILLIONS***A_Partir_Résultats***Affinités_EuroMillions.xls"

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

    0 commentaires Aucun commentaire
  4. DanielCo 107.1K Points de réputation
    2023-01-08T08:47:18+00:00

    Bonjour,

    1. As-tu essayé ce que je t'ai demandé ?
    2. Peux-tu partager le fichier ?

    Daniel

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

    0 commentaires Aucun commentaire