Pb VERSION excel vb svp

Résolu/Fermé
lulu37 Messages postés 76 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 8 avril 2016 - 21 sept. 2006 à 15:10
 tit-papa-noel - 4 sept. 2012 à 14:41
Bonjour à tous !

J'ai un gros problème.
J'ai créé une interface sous excel 2003 avec macros en vb 6 , sauf que finalement, il faut que ca tourne sous excel 97 ! et la version vb ? bin y a pas de n° ... microsoft visual basic coyright 87-97...
Les références ne sont évidemment pas les mêmes non plus :
Microsoft excel / office 8 Object library au lieu de 11...
Ca n'aime vraiment pas qd j ouvre sous 97, ca me fait des bog à droite à gauche et pourtant je ne vois pas d où vient le pb .
Exemple : bog sur autofilter, j'ai donc réenregistré la macro sans passer par vb et rien n'est différent niveau langage ... bref...
Quelqu'un peut il m'aider ? Je vous en prie dites moi que je n'ai pas fait tout ça pour rien !

Merci d'avance
A voir également:

12 réponses

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
25 sept. 2006 à 15:36
Bonjour,

je n'ai plus d'office 97 pour tester donc difficile!!

mais voici quelques idées :
If TextBoxF <> Empty Then Selection.AutoFilter Field:=6, Criteria1:="=*" & TextBoxF.Value & "*" 
essaie de passer par une variable :
moncritère="=*" & TextBoxF.Value & "*"
et de mettre la condition sous la forme :
If not(isempty(Me.TextBoxF.value)) Then Selection.AutoFilter Field:=6, Criteria1:=moncritère
ActiveSheet.ShowAllData '=>bog'
là, tu pourrais mettre un :
Selection.AutoFilter

naturellement il faut que ta selection soit correcte! mais si ça marche sous 2003, ça doit être le cas.

bon courage
1
lulu37 Messages postés 76 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 8 avril 2016 13
22 sept. 2006 à 13:34
Après des essais de débogage, j'ai finalement recréé un nouveau fichier excel sous 97, et copié mes données et mes codes dans ce nouveau fichier. Mais ça ne marche toujours pas.
J'ai un message au moment de l'enregistrement : "Erreur système &H8000FFFF (-2147418113) Défaillance irrémédiable"
Si ça peut vous aider à me donner une réponse...
0
lulu37 Messages postés 76 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 8 avril 2016 13
22 sept. 2006 à 14:38
je pense avoir compris d'où venait le rapport d'erreur (et peut etre aussi du meme coup l'erreur irrémédiable...)
ca commence a fonctionner sous 97
Mon problème c'est qu'il n'accepte pas grand chose concernant les filtres automatiques (qui tournait sous 2003)
Ca me met souvent le message suivant : erreur d'éxé 1004 : la méthode Autofilter de la classe range a échoué.
...
Quelqu'un sait il pourquoi?
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
22 sept. 2006 à 17:23
Bonjour,

tu filtres sur quel type de données?

montre ton code.

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
22 sept. 2006 à 17:41
Re,

https://support.microsoft.com/en-us/help/248670

ça parle d'autofilter er de date.

A+
0
lulu37 Messages postés 76 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 8 avril 2016 13
25 sept. 2006 à 14:20
Bonjour,

Non il ne s'agit pas de dates, seulement de colonnes de texte.
Par exemple, à l'ouverture du classeur, les filtres éventuels sur toute lle tableau doivent être enlevés (pas enlevés au sens littéral, mais toutes les valeurs doivent être affichées)
Private Sub WorkBook_Open()
...
On Error Resume Next
ActiveSheet.ShowAllData
...
End Sub

ce code fonctionnait sous 2003 qu'il y ai des données filtrées ou non mais sous 97, ca me met un message d erreur et ca ferme l appli (uniquement s'il y a des données filtrées)
0
lulu37 Messages postés 76 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 8 avril 2016 13
25 sept. 2006 à 14:37
Bonjour,

Non il ne s'agit pas de dates, seulement de colonnes de texte.
Par exemple, à l'ouverture du classeur, tous les filtres de la base doivent être enlevés (pas enlevés au sens littéral, mais toutes les valeurs doivent être affichées)
Private Sub WorkBook_Open()
...
On Error Resume Next
ActiveSheet.ShowAllData '=>bog'
...
End Sub

ce code fonctionnait sous 2003 qu'il y ai des données filtrées ou non mais sous 97, ca me met un message d erreur et ca ferme l appli (uniquement s'il y a des données filtrées)


à un autre endroit du programme (assistant recherche) :

Private Sub CommandButtonOK_Click()
'filtrage selon saisie sur assistant recherche'
If TextBoxF <> Empty Then Selection.AutoFilter Field:=6, Criteria1:="=*" & TextBoxF.Value & "*"
If TextBoxRF <> Empty Then Selection.AutoFilter Field:=4, Criteria1:="=*" & TextBoxRF.Value & "*"
If TextBoxMC <> Empty Then Selection.AutoFilter Field:=5, Criteria1:="=*" & TextBoxMC.Value & "*"
UserForm2.Hide
End Sub

là ça bog et rebog, ça ne fonctionne pas du tout, et je ne sais pas pourquoi...

encore un ?

un simple bouton bascule :
Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
ToggleButton1.Caption = "Refs Service"
Selection.AutoFilter Field:=1, Criteria1:="MAGASIN" '=>bog'

Else
ToggleButton1.Caption = "+ de références..."
Selection.AutoFilter Field:=1, Criteria1:="=" & Range("A1").Value
End If

End Sub


et toujours bog

voilà si ça peut t'aider à y voir plus clair
a+
0
Hello.

La méthode ShowAllData marche bien... à condition que la feuille soit déprotégée. Sinon, erreur 1004 sur ShowAllData.

Pour peut qu'on fasse un petit test avant, g trouvé ça, tout bête mais qui bogue pas :

With frmMaFeuil
    'si feuil protégée, enlever PROTECTION avec le mot de passe "dudule"
    If .ProtectContents Then .Unprotect Password:="dudule" 
   'ensuite, si 1 critère est déjà appliqué sur la feuille, désactiver filtre automatique 
    If .FilterMode = True Then .ShowAllData 
End With


'Y a plus qu'à reprotéger la feuille ensuite, si besoin.

Voilà. Ma proposition vient des années après, mais on ne sait jamais ;-)

D.
0
tit-papa-noel
4 sept. 2012 à 14:41
La résolution sert, même des années après...

Merci Duena
0
lulu37 Messages postés 76 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 8 avril 2016 13
27 sept. 2006 à 17:21
salut

en ce qui concerne Selection.Autofilter, ça ne convient pas, ca enlève les filtres, mon but est d'afficher toutes les entrées mais surtout pas d'enlever les filtres auto
j'explique (utilisé dans le cadre pro) 2 personnes ont la possibilité d'enregistrer ce classeur, toutes les autres sont en lecture seules
Donc possible que les 2 personnes en question oublient d enlever les filtres... d où la nécessité d'automatiser sous vb.

je ne comprend pas pourquoi, ils ne veut pas me défiltrer mes colonnes, est ce que c'est parce que j ai des colonnes cachées...apparemment non, d'ailleursd toutes mes procédures avec autofilter buggent à un moment donné.
Je ne comprend vraiment pas
si tu as une autre idée, elle sera la bienvenue

pour le reste, je vais voir ca demain...

Ludivine
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
27 sept. 2006 à 23:24
Bonjour,

tu partages ton classeur?

méfie toi, s'il y a des macros (certaines fonctions sont à surveiller ou à retravailler mais je ne sais plus lesquelles).

http://dj.joss.free.fr/reso.htm

A+
0
lulu37 Messages postés 76 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 8 avril 2016 13
28 sept. 2006 à 09:39
salut

il est seulement sur le réseau, mais pas de partage style modifs simultanées...

quoique tant que je n'ai pas résolu mon pb d'autofilter, il est inutilisable, snif
0
lulu37 Messages postés 76 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 8 avril 2016 13
28 sept. 2006 à 17:09
j'arrive à passer mes filtres sur le 1er pb rencontré tel que je l'ai inscrit voir item 6

le problème est réellement sur les ActiveSheet.ShowAllData

après avoir testé en affichant toutes mes colonnes, en enlevant mon visibledropdown=false sur un filtre auto

j'ai un peu regardé à droite à gauche sur internet , et mis en propriété du bouton de commande
TakeFocusOnClick = False (je sais meme pas à quoi ca sert ...lol)
j'ai toujours mon bug , voici les différents petits trucs que j'ai testé :

ActiveSheet.ShowAllData

si données filtrées=>affiche tout (ca c'est cool lol) et message d erreur + fermeture excel (là ça l'est déjà moins)
si données non filtrées => erreur exe 1004

Donc :
On Error Resume Next
ActiveSheet.ShowAllData

'ou'

If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData

si non filtrées => il ne se passe rien, c 'est déjà mieux

en tout cas, ça ne résout toujours pas mon problème
personne n'a jamais eu ce genre de pb sur excel 97 ? la méthode est certainement mauvaise ?
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
28 sept. 2006 à 20:57
bonsoir,

je n'utilise pas showalldata d'habitude.

je me sers de autofilter pour retirer (et là ça fait la même chose que showalldata) et pour remettre.

c'est peut-être une piste. (je teste le filtermode et je joue de l'autofilter)

je crois même que le test du filtermode n'est pas absolument nécessaire (pas sûr quand même)

A+
0
lulu37 Messages postés 76 Date d'inscription jeudi 24 août 2006 Statut Membre Dernière intervention 8 avril 2016 13
4 mai 2007 à 11:31
je n'ai pas trouvé de solutions miracles, en pas à pas, en reprenant sous excel 97, le fichier a fini par être utilisable...
bref, ne jamais créer des macros sous 2003 si c'est pour une utilisation sous 97 ! lool
JVDo, merci pour tes réponses
0