Microsoft 365 32 ou 64 bits

eric72

XLDnaute Accro
Bonjour à tous,
J'ai un fichier avec des userform et du code vba, mon PC et ma version Excel sont en 64 bits, est-il possible que sur un PC avec une version Excel 32 bits, et ce malgré ce code:
VB:
#If VBA7 Then
Private Declare PtrSafe Function DavGetUNCFromHTTPPath Lib "Netapi32.dll" (ByVal Url As LongPtr, ByVal UncPath As LongPtr, lpSize As Long) As Long
#Else
Private Declare Function DavGetUNCFromHTTPPath Lib "Netapi32.dll" (ByVal Url As Long, ByVal UncPath As Long, lpSize As Long) As Long
#End If
il y ait des bugs aléatoires sur le 32 bits et pas sur le 64 bits? Cela a-t-il un rapport ou pas du tout.
J'essaie d'explorer toutes les pistes pour éliminer les éventuelles raisons.
Ce code règle-t-il le problème de version entièrement?
Merci beaucoup pour votre retour
Eric
 
Solution
Pas d'autre remarques sur le code?
Merci beaucoup pour le coup de main
oh si.. il y a à dire.. :-D
macro Actu: tu calcules une zone dans la feuille1...(=feuille Menu).. ne serait ce pas plutot la feuille "Données"??
et pourquoi forcer le calcul?? ton mode de calcul du classeur n'est pas en automatique?

coté purement esthétique.. l'indentation n'est pas très "rigoureuse", ce qui bien souvent permet de détecter des erreurs de syntaxe (le fameux guilemet pas à sa place par exemple)

macro "vidernavette":
plutot que vider les cellules une par une, tu peux utiliser une range.clearcontents

eric72

XLDnaute Accro
Voilà mon fichier anonymisé au maximum, je vous vois déjà devenir tout rouge à la lecture de mon code.
N'essayez pas d'exécuter le code, j'ai retiré plein de fonctions pour que vous puissiez juste regarder le code!!!
Ne m'engueulez pas surtout, je suis là pour progresser😥
 

Pièces jointes

  • My Gest_Com_P NOM.xlsm
    214.6 KB · Affichages: 5

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour,
[N'apporte rien (du moins, je le pense)]
@Phil69970
Donc si ton fichier fonctionne sur 64 bits c'est qu'il n'y a pas de listview
Et si ton code fonctionne sur 32 bits et qu'il y a une listview alors il ne fonctionnera pas sur 64 bits (en tout cas la partie listview)
Je viens de te lire (il est vrai que je fais de moins en moins de VBA, surtout les USF), mais ton affirmation m'a interpellée.
Donc, dans le doute, j'essaie...
Windows 11 64 bits
Excel 2021 64 bits
J'ai fait vraiment au plus simple (chargement d'une listview à partir d'un TS - aucun traitement supplémentaire)
Et je n'ai aucun souci...
Peut-être une autre subtilité?
Ou d'autres restrictions?

PS, toutes mes excuses eric pour mon incrust'
 

Pièces jointes

  • Essai lstview 64b.xlsm
    331 KB · Affichages: 3

eric72

XLDnaute Accro
Bonjour,
[N'apporte rien (du moins, je le pense)]
@Phil69970

Je viens de te lire (il est vrai que je fais de moins en moins de VBA, surtout les USF), mais ton affirmation m'a interpellée.
Donc, dans le doute, j'essaie...
Windows 11 64 bits
Excel 2021 64 bits
J'ai fait vraiment au plus simple (chargement d'une listview à partir d'un TS - aucun traitement supplémentaire)
Et je n'ai aucun souci...
Peut-être une autre subtilité?
Ou d'autres restrictions?

PS, toutes mes excuses eric pour mon incrust'
Bonjour Cousinhub
Pas de souci pour l'incrust, plus on est de fous plus on rit.
Le problème vient du reste de mon code alors!!!
 

Phil69970

XLDnaute Barbatruc
Re

@Cousinhub

Sur excel 2010 64 bits J'ai ceci avec ton fichier

1718365456718.png


Puis ceci
1718365484884.png


et enfin
1718365607551.png
 

vgendron

XLDnaute Barbatruc
j'ai pas pu m'empecher de corriger ta macro actu qui utilise des select, alors que tu commences par with sheets..

VB:
Sub actu()
Dim c As Range
    With Sheets("Données") 'évite justement d'avoir à selectionner la feuille
        .Visible = xlSheetVisible
        .Range("AB2").FormulaR1C1 = "=@TEXTBEFORE(TEXTAFTER(R[3]C,""_"",2),""."")"
        .Range("AB3").FormulaR1C1 = "=MID(R[2]C,13,1) & ""."" &@TEXTAFTER(R[-1]C,"" "")"
        .Range("AB4").FormulaR1C1 = "=TEXTBEFORE(R[-1]C,""."") & """" & MID(R[-1]C,3,1)"
        .Range("AB5").Formula2R1C1 = "=MID(CELL(""nomfichier""),FIND(""["",CELL(""nomfichier""))+1,FIND(""]"",CELL(""nomfichier""))-FIND(""["",CELL(""nomfichier""))-1)"
        .Range("AB6").FormulaR1C1 = "=TEXTAFTER(R[-4]C,"" "")"
        '.Range("AB7").Select
        .Visible = xlSheetVeryHidden
    End With

Feuil1.Range("ab2:ab6").Calculate
End Sub

pour le coté aléatoire: perso, je traduis ca par:
un coup, le code trouve les infos dont il a besoin, un coup non
entre les deux, quelque chose a sans doute été effacé, réinitialisé...
 

eric72

XLDnaute Accro
j'ai pas pu m'empecher de corriger ta macro actu qui utilise des select, alors que tu commences par with sheets..

VB:
Sub actu()
Dim c As Range
    With Sheets("Données") 'évite justement d'avoir à selectionner la feuille
        .Visible = xlSheetVisible
        .Range("AB2").FormulaR1C1 = "=@TEXTBEFORE(TEXTAFTER(R[3]C,""_"",2),""."")"
        .Range("AB3").FormulaR1C1 = "=MID(R[2]C,13,1) & ""."" &@TEXTAFTER(R[-1]C,"" "")"
        .Range("AB4").FormulaR1C1 = "=TEXTBEFORE(R[-1]C,""."") & """" & MID(R[-1]C,3,1)"
        .Range("AB5").Formula2R1C1 = "=MID(CELL(""nomfichier""),FIND(""["",CELL(""nomfichier""))+1,FIND(""]"",CELL(""nomfichier""))-FIND(""["",CELL(""nomfichier""))-1)"
        .Range("AB6").FormulaR1C1 = "=TEXTAFTER(R[-4]C,"" "")"
        '.Range("AB7").Select
        .Visible = xlSheetVeryHidden
    End With

Feuil1.Range("ab2:ab6").Calculate
End Sub

pour le coté aléatoire: perso, je traduis ca par:
un coup, le code trouve les infos dont il a besoin, un coup non
entre les deux, quelque chose a sans doute été effacé, réinitialisé...
En effet, sauf que je ne parviens pas à le reproduire!!! quel casse tête
 

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh