Comment utiliser VBA Excel 2007 avec Windows 11 ?

Bonjour

pour inst"aller 2007 sur W11 64 il y a des bidouille à faire a cause du system32 et syswow64

le vbe est en rade sans ces modifs et ces modifs sont du bricolage

je te suggère de passer au moins a 2013 ou 2016

2007 c'est mort

Bonjour PatrickT,

oui je pense que ce problème entre Excel 2007 et Windows 11 ne peut pas se résoudre finalement facilement, je vais donc m'orienter vers une version d'Excel plus récente.

Merci beaucoup à tous ceux qui ont répondu à mes messages pour m'aider.

Bon dimanche à tous !

Ok pour le test. On peut déjà mettre de coté un souci avec Excel je pense.

Pour l'option Activer le contenu, elle existe toujours et en plus sur les nouvelles versions d'excel A l'ouverture d'un fichier contenant des macros, vous pouvez avoir quelques fois un bandeau Jaune au niveau de la barre de formule avec un bouton "activer le contenu"

Voyez tout de même ce lien --> https://forum.excel-pratique.com/s/goto/1186839

Pour ce jeu, peut être voir aussi si l'auteur ne mentionne pas quelque chose. Là on ne sait pas où vous l'avez obtenu.

Si vous en avez terminé -->

Cordialement

Bonjour,

Pour l'option Activer le contenu, elle existe toujours et en plus sur les nouvelles versions d'excel A l'ouverture d'un fichier contenant des macros, vous pouvez avoir quelques fois un bandeau Jaune au niveau de la barre de formule avec un bouton "activer le contenu"

Voyez tout de même ce lien --> https://forum.excel-pratique.com/s/goto/1186839

Merci bien pour cette info

Pour ce jeu, peut être voir aussi si l'auteur ne mentionne pas quelque chose. Là on ne sait pas où vous l'avez obtenu.

En fait j'ai récupéré ce jeu je ne sais plus sur quel site (peut-être Excel pratique), puis je l'avais par la suite pratiquement entièrement réécrit et ajouté des fonctionnalités complémentaires. Je ne vois pas en quoi le code pourrait poser problème mais je ne suis pas un spécialiste d'excel.

Si vous en avez terminé -->

Si ton problème est résolu, n'oublie pas de marquer les posts qui ont permis de résoudre le problème à l'aide du bouton

Je vais attendre une ou deux semaines en espérant qu'une nouvelle personne consulte le forum et puisse peut-être me donner la solution à mon problème.
Je clôturerai alors ce sujet.

Re

Essayez un peu en remplaçant le code par celui-ci (en gros il n'y a pas de changement mais sait-on jamais.... ce qu'excel voit à l'exécution

Sub Nouvelle_partie1()' Actions pour démarrer une nouvelle partie
Dim i As Byte

With ActiveSheet
    .Unprotect ' Enlever la protection de la feuille pour pouvoir modifier les cellules
    .Range("C4:F4,G4:L4").ClearContents' Effacement de la solution affichée et du commentaire

    For i = 8 To 26 Step 2
        .Range("C" & i & ":F" & i).ClearContents
        .Range("G" & i).ClearContents
        .Range("C" & i & ":F" & i).Locked = True
    Next i

    .Range("C26:F26").Locked = False

' Sauvegarde du tirage aléatoire pour la nouvelle partie
     If .Range("Q30").Value = "1" Then ' Test de la cellule liée à la case d'option à cocher « niveau »
        .Range("N28:Q28").Copy ' Sélection du tirage mode novice
    Else
        .Range("N29:Q29").Copy ' Sélection du tirage mode expert
    End If

    'Coller Selection
    .Range("N4").PasteSpecial Paste:=xlPasteValues', Operation:=xlNone, SkipBlanks:=False, Transpose:=False

' Désactiver tous les boutons « Effacer »
    .Bouton_Effacer_01.Enabled = False
    .Bouton_Effacer_02.Enabled = False
    .Bouton_Effacer_03.Enabled = False
    .Bouton_Effacer_04.Enabled = False
    .Bouton_Effacer_05.Enabled = False
    .Bouton_Effacer_06.Enabled = False
    .Bouton_Effacer_07.Enabled = False
    .Bouton_Effacer_08.Enabled = False
    .Bouton_Effacer_09.Enabled = False
    .Bouton_Effacer_10.Enabled = False

' Positionner le focus sur la première couleur de la première combinaison
    .Range("C26").Select

' Remettre la protection de la feuille pour protéger les cellules de calcul
    .Protect Contents:=True
End With
End Sub

Crdlt

Merci bien Dan pour votre dernier message.

Je ne peux pas m'en occuper aujourd'hui, mais je regarderai ça d'ici la fin de la semaine et je vous tiendrai au courant

Bonjour Dan,

j’ai copié mon document «Jeu Mastermind Arnaud.xlsm » dans un nouveau document «Jeu Mastermind DAN.xlsm ».

Dans ce dernier document j’ai fait un copier coller de ta procédure «Sub Nouvelle_partie1 » dans la procédure «Sub Nouvelle_partie », pour au final conserver le nom de procédure «SubNouvelle_partie ».

J’ai enregistré le document puis je l’ai ouvert de nouveau, puis cliqué sur le bouton « nouvelle partie ».

Mais malheureusement toujours les mêmes erreurs se produisent :

image image

Merci bien pour ton aide, mais je suis de plus en plus persuadé qu’il s’agit d’une incompatibilité entre Excel 2007 en version 32 bits et Windows 11 qui fonctionne en 64 bits.

Re,

Refaites un essai comme suit.

Dans mon fichier Test.xlsm que j'ai posté ici https://forum.excel-pratique.com/s/goto/1220655

- Utilisez le bouton pour copier les données de N4 àQ4.. dans C4à F4
- Une fois fait, allez dans le menu developpeur
- Cliquez sur "enregistrer une macro"
- Sélectionnez C4 à F4
- Appuyez sur la touche Delete pour effacer les données
- Arrêtez l'enregistreur en recliquant sur le bouton devenu "Arreter l'enregistrement"

Ensuite montrez le code enregistré

Voilà le code enregistré :

image

Re

Ah ben vous voyez que le code est identique.

Bien que l'on évite les select et selection, essayez tout de même en remplaçant

.range("C4:F4").clearcontents

par ceci

.Range("C4:F4").Select
Selection.ClearContents

Pour le test, déprotégez d'abord la feuille manuellement, puis exécutez le code Sub Nouvelle_partie() avec la modification si dessus

Le code existant est déjà égal à celui que vous proposez :

.Range("C4:F4").Select

Selection.ClearContents

Peut-être avez-vous inversé les codes dans votre message et voulez-vous que je remplace le code existant par :

.range("C4:F4").clearcontents

Peut-être avez-vous inversé les codes dans votre message ....

Non du tout.

Faites strictement comme expliqué.
Vous allez dans le fichier test et vous prenez les 2 lignes de code que vous avez générées et vous les collez dans le fichier mastermind. Ne prenez pas le code sur le forum évidemment.
Et comme je vous ai expliqué, déprotégez d'abord la feuille manuellement avant de cliquer sur le bouton

Code existant dans le document initial «Jeu Mastermind Arnaud.xlsm » :

image

après il y a eu plusieurs modifications suite à votre demande, mais je ne sais pas si je dois faire ces modifications directement dans le document initial ou dans le document modifié…

ce document ne contient donc pas le code initial que vous me demandez de remplacer.

Je ne peux donc pas remplacer directement ce que vous m’avez indiqué dans la macro nouvelle partie, mais je peux éventuellement remplacer l’avant-dernière ligne ci-dessus ci-dessous par :

ActiveSheet.Range("C4:F4").Select

ActiveSheet.Selection.ClearContents

Est-ce bien ce que vous souhaitez ?

après il y a eu plusieurs modifications suite à votre demande, mais je ne sais pas si je dois faire ces modifications directement dans le document initial ou dans le document modifié…

Ou là là ..... je vais devoir me répéter. C'est le code initial çà.

Utilisez le code que vous me montrez ici --> https://forum.excel-pratique.com/s/goto/1221359. (c'est d'ailleurs celui que je vous avais donné dans ce post --> https://forum.excel-pratique.com/s/goto/1221094)
Puis vous remplacez la ligne jaune par les deux lignes que je vous données ici --> https://forum.excel-pratique.com/s/goto/1221385

Désactivez aussi la ligne .unprotect avant d'exécuter le code


Si vous voulez absolument garder l'ancien code alors comme ceci

image

Je ne sais pas être plus clair

J'ai communiqué au départ un fichier initial qui a évolué plusieurs fois à la suite de vos modifications .

Vous m'avez demandé d'appliquer de nouvelles modifications mais comment voulez-vous que je devine de quel fichier je dois repartir si vous ne me le dites pas ?

Je vais donc appliquer dans le document initial les modifications que je vous ai indiquées mon message précédent, et que vous avez confirmé dans votre dernier message. Je vous tiens prochainement au courant du résultat.

Bah prenez le fichier modifié et faites les essais sur celui là
Si vous remplacez un code, mettez-le dans le même module et vous désactivez l'ancien par exemple
C'est ce que j'ai fait avec votre fichier posté;
Exemple dans le module 1, j'ai trois fois le code Nouvelle partie mais j'ai désactivé 2 codes

Résultats du dernier test :

image

Votre feuille est bien déprotégée quand vous exécutez le code ?

Vérifiez si vous pouvez entrer une info manuellement ailleurs dans la feuille avant d'exécuter le code

En recherchant dans mes sauvegardes, j’ai retrouvé une version provisoire du jeu (dans laquelle je n’avais pas encore mis les protections et qui ne comporte pas tous les développements finaux et qui contient peut-être encore quelques erreurs de programmation) et qui fonctionne normalement avec Excel 2007 sous Windows 11 lorsqu’on clique sur les boutons « nouvelle partie » ou « solution ».

Je vous envoie ce document qui vous intéressera peut-être dans la recherche d’une solution.

Il faut regarder la feuille « feuille avec calcul Arnaud V5 ».

Encore merci pour votre aide

Heu.. mais en voyant le ficher cela n'a plus rien à voir avec le premier. Là je ne comprends pas trop.

En recherchant dans mes sauvegardes, j’ai retrouvé une version provisoire du jeu

Mais c'est vous qui faites le fichier ou vous l'avez trouvé comme dit précédemment ?

Dans le nouveau fichier, il n'y a plus les codes dans Thisworkbook notamment

qui fonctionne normalement avec Excel 2007 sous Windows 11 lorsqu’on clique sur les boutons « nouvelle partie »

Ce que vous avez placé est identique à ce que je vous demandais de faire avant. Donc je ne vois pas pourquoi cela fonctionne dans un fichier et pas dans l'autre.

Déjà dans ce dernier fichier il faut enlever les select et selection. Rien de plus mauvais avec VBA et cela n'apporte rien sauf des ralentissements

Rechercher des sujets similaires à "comment utiliser vba 2007 windows"