Erreur incompréhensible

  • Initiateur de la discussion Initiateur de la discussion yadla
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yadla

XLDnaute Occasionnel
Bonjour le forum,

Une fois de plus, je me dois de faire appel à vous, pourtant je vous assure que je progresse en Excel... doucement 😛

J'ai une erreur qui survient lors de l'ouverture d'un fichier :
Erreur d'exécution '91'
Variable objet ou variable de bloc With non définie
Alors ce que je ne comprends pas, ce n'est pas réellement l'erreur en elle -même mais juste que selon les fichiers ouverts et les codes VBA exécutés avant, l'erreur vient ou non 😕

J'aurais voulu mettre le fichier ou j'ai mon programme, mais je ne peux pas pas soucis de confidentialité... Par contre, j'ai joint une copie de la partie du programme qui plante.

A savoir, si j'ouvre ce fichier et l'exécute avant mon programme confidentiel (que je ne peux pas mettre), tout marche 😕

Plus de détails sur l'erreur dans le fichier joint. Parce que j'ai fait une exécution pas à pas pour voir ce qui n'allait pas, mais bon, je ne comprends toujours pas...

Merci pour votre aide qui m'est très, très précieuse depuis quelques temps
 

Pièces jointes

Re : Erreur incompréhensible

Bon, alors, je crois avoir trouvé le problème...

Enfin, ce qui est bizarre c'est que je n'ai rien changé dans le code problématique... 😕

En fait, à l'ouverture, l'erreur venait. Puis lors du lancement après ouverture ca marchait. C'est vraiment bizarre que l'erreur survienne une fois sur deux...

Donc je suis allée dans "Workbook_Open()", et j'ai changé l'ordre d'exécution de deux lignes... Maintenant ça marche. J'ouvre et referme mon fichier pour tester, et ca marche tout le temps... mais c'est bizarre, non ?
 
Re : Erreur incompréhensible

Bonjour Yadla, Staple

je crois reconnaitre ce code... en fait ca bogue si la valeur n'est pas trouvée, il faut modifier comme suit :

Code:
Sub test()
Dim x As Range, z As String, w As Range, t As Date
Dim d As Date, e As Date
t = Time
Set x = Range("A4:Z1000").Find(Date, LookIn:=xlFormulas)
Set w = x
If Not x Is Nothing Then
z = x.Address
MsgBox z
rowz = x.Row
columnz = x.Column
MsgBox rowz
MsgBox columnz
valeur_temoin = 0
    Do
        d = t - Abs(w.Offset(0, 1).Value)
        Set x = Range("A4:Z1000").FindNext(x)
        e = t - Abs(x.Offset(0, 1).Value)
        'pour l'heure la plus proche jamais supérieure
        If Abs(e) < Abs(d) And x.Offset(0, 1).Value < t Then Set w = x
        If t - w.Offset(0, 1).Value < 0 Then
            valeur_temoin = valeur_temoin + 1
            If valeur_temoin = 1 Then rowz = rowz - 1
        End If
    Loop While x.Address <> z
MsgBox w.Address
MsgBox Sheets("Feuil1").Cells(rowz, columnz)
Worksheets("Feuil1").Cells(10, 10) = Sheets("Feuil1").Cells(rowz, columnz).Offset(0, 1)
End If
End Sub

pour éviter au moins un bogue...

bonne journée
@+
 
Re : Erreur incompréhensible

Re


J'arrive aprés la solution

Pour anonymiser un fichier

Il suffit de remplacer les données confidentielles par des valeurs vides de sens

exemple:
abc1 (recopie vers le bas)
Ou avec une macro (Rechercher/Remplacer)

Evidemment ca peut prendre du temps à réaliser

Ou plus radical

Tu remplaces (par VBA) le contenu des cellules par des valeurs aléatoires
 
Dernière édition:
Re : Erreur incompréhensible

Re Staple,

Merci pour ta réponse, mais il est vrai que ça peut prendre énormément de temps, surtout quand le fichier comporte une bonne dizaine de feuilles, 5 formulaires, et plus de 4000 lignes de code 😛 (Oulàlà, j'ai l'impression de me sentir une déesse en Excel en disant ça... Quel travail ! Beaucoup de feuilles, beaucoup de lignes en VBA... Je te rassure, beaucoup de code, mais bon, surement à améliorer et surement possible de faire ce que je fais en la moitié de lignes... 🙄 )

Bon, dans tous les cas, je te remercie pour ton aide.

Passe une bonne journée
 
Re : Erreur incompréhensible

Je te remercie,

Je pense que je serai alors amenée à utiliser ton fichier par la suite.

Par contre, comment lui indiquer quels noms sont à changer, parce qu'en fait si je réfléchie bien, ce ne sont que les titres des valeurs (titre des colonnes par exemple) à changer, et non les valeurs (chiffres eux même).
Aussi, si les cellules sont nommées, elles vont le rester, non 😕
On peut changer ça ? Ca va pas perdre le fil dans le programme ?
 
Re : Erreur incompréhensible

Re

Il suffit d'adapter
(et je reprécise que cela n'est qu'un "anonymage" sommaire)
Code:
Sub anonymiser_moi()
Dim cell As Range
' ici tu peux définir ta plage de cellules
Dim X as range
'For Each cell In ActiveSheet.UsedRange
'ici tu adaptes les cellules de ton choix
Set X= Sheets("Feuil1").Range("A1:E1")
For Each cell In X
'ici tu peux également personnaliser les caractères ajoutés
cell.Value = StrReverse("X.L.D" & SCRAMBLE(cell.Value) & "1e2x3c4e5ld9o8w7n6loads")
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
331
Réponses
15
Affichages
677
Réponses
4
Affichages
141
Réponses
5
Affichages
120
Réponses
1
Affichages
133
  • Question Question
Microsoft 365 Carte géogrpahique
Réponses
6
Affichages
249
Retour