{Résolu} Erreur 91, oui mézou ?

g.milano

XLDnaute Junior
Bonjour a tous,

je sollicite votre aide pour une erreur 91 générée par cette macro. N'ayant pas de With, cela ne peut venir que des variables, mais il n'y en a que 2, et malgré mes recherches sur le net et le forum, je ne trouve pas d'erreur d'application (a moins que je sois une grosse buse lol).

Code:
Sub TagCheck()
    Dim fairu As String
    Dim retsu As Integer
    'Activ Cache
    Application.ScreenUpdating = False
    'Nettoyage
    ActiveSheet.Shapes.SelectAll
    Selection.Delete
    ActiveSheet.Hyperlinks.Delete
    Columns("A:X").Select
    Selection.UnMerge
    'Sup Col&Ligne
    Range("A:B,F:F,H:H,M:N,P:Q,T:U").Select
    Selection.Delete Shift:=xlToLeft
    Rows("1:2,4:5").Select
    Selection.Delete Shift:=xlUp
    Columns("A:N").ColumnWidth = 100
    'Titre col
    Range("A1").Value = "送年"
    Range("B1").Value = "送月"
    Range("C1").Value = "送日"
    Range("D1").Value = "番号"
    Range("E1").Value = "売年"
    Range("F1").Value = "売月"
    Range("G1").Value = "売日"
    Range("H1").Value = "円状況"
    Range("I1").Value = "状態"
    Range("J1").Value = "ブランド"
    Range("K1").Value = "商品"
    Range("L1").Value = "予定価格"
    Range("M1").Value = "販売価格"
    Range("N1").Value = "メモ"
    Columns("D:D").Select
    Selection.Font.Bold = True
    Rows("1:1").Select
    Selection.Font.Bold = True
    Range("A:N").EntireColumn.AutoFit
    'Volets
    Range("A2").Select
    ActiveWindow.FreezePanes = True
    'Tab Filtre Av
    retsu = WorksheetFunction.CountA(Columns("D:D"))
    Range("H" & retsu + 1).Value = "円状況"
    Range("H" & retsu + 2).Value = "円"
    Range("N" & retsu + 1).Value = "メモ"
    Range("N" & retsu + 3).Value = "*定額出品中*"
    Range("A1:N" & retsu).AdvancedFilter Action:=xlFilterInPlace, _
    CriteriaRange:=Range("H" & retsu + 1 & ":N" & retsu + 3), Unique:=False
    'Save
    ChDir "C:\Documents and Settings\DATABASE"
    fairu = CStr(DateSerial(Year(Now), Month(Now), Day(Now))) & ".xls"
    ActiveWorkbook.SaveAs fairu, FileFormat:=xlNormal, Password:="", _
    WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False, AddToMru:=True
    'Couleur
    ActiveWorkbook.Colors(6) = RGB(255, 255, 153)
    ActiveWorkbook.Colors(36) = RGB(255, 255, 0)
    'Desactiv Cache
    Application.ScreenUpdating = True
End Sub
merci pour votre aide m(_ _)m
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Erreur 91, oui mézou ?

Bonjour,

quelle instruction provoque cette erreur ? si tu ne le sais pas, exécute le code pas à pas (F8 dans l'éditeur vba) afin de détecter où cela coince...

A noter tout de même que cette instruction retournera des "/" dans la chaine de caractères :
Code:
fairu = CStr(DateSerial(Year(Now), Month(Now), Day(Now))) & ".xls"
hors tu ne peux enregistrer un fichier avec un nom comportant des "slash", essaye comme suit :
Code:
fairu = Format(Date, "dd mm yyyy") & ".xls"
bonne journée
@+
 

g.milano

XLDnaute Junior
Re : Erreur 91, oui mézou ?

merci pour votre reponse.

en faisant F8, le message d'erreur apparait sur la commande :

Code:
    Columns("A:X").Select
    Selection.UnMerge
Avec ca, je defusionne toutes les cellules fusionnee de la feuille (les donnees vont jusqu'a la colonne X)
j'ai recupere ce code en enregistrant une macro pour recuperer la commande, je viens de refaire la manip pour etre sur de ne pas avoir fait de boulette, mais le code est le meme ! :confused:


Merci aussi pour le formatage de la date. Un petite question en passant, le format "dd mm yyyy" est-il modifiable a l'envi ? genre faire des choses comme "dd-mm-yyyy" ou "mm月dd日" ?
 

Pierrot93

XLDnaute Barbatruc
Re : Erreur 91, oui mézou ?

Re,

pas de problème avec ce code pour défusionner les cellules, à voir si tu n'as pas de cellules fusionnées qui débordent sur d'autres colonnes.... tu pourrais d'ailleurs coder ainsi :
Code:
Columns("A:X").UnMerge
pour le format de la date, ceci devrait également fonctionner :
Code:
fairu = Format(Date, "dd-mm-yyyy") & ".xls"
@+
 

g.milano

XLDnaute Junior
Re : Erreur 91, oui mézou ?

merci, mais ca marche toujours pas.

j'ai vire la fonction de defusionnement, et ca bloque sur

Code:
    ActiveSheet.Hyperlinks.Delete
J'ai remis le code d'avant et enleve le bout ci-dessus et ca fonctionne :eek: (hasard...)

Donc mes excuses pour commencer, c'est la suppression des liens net qui deconne. Mais, pareil, ce bout de code existe dans une autre macro qui fonctionne toujours bien (je viens de la retester pour voir si y'avait pas un bug qui aurait deboule entre temps).

pour info, ci-dessous le debut de la macro qui marche :

Code:
Sub yahoo()
    Dim i As Integer, j As Integer, k As Integer, bango As Integer, shohin As Integer
    Dim hinmei As String, hiduke As String
    'Activ Cache
    Application.ScreenUpdating = False
    'Nettoyage
    ActiveSheet.Shapes.SelectAll
    Selection.Delete
    ActiveSheet.Hyperlinks.Delete
    Columns("A:I").Select
    Selection.UnMerge
    Selection.Interior.ColorIndex = xlNone
    Range("B:B,G:I").Select
    Selection.Delete Shift:=xlToLeft
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "商品ID"
    'Sup Lignes Vides
J'avoue etre a sec la... :(
 

Pierrot93

XLDnaute Barbatruc
Re : Erreur 91, oui mézou ?

Re,

essaye peut être de placer un tout petit fichier en pièce jointe permettant de reproduire le problème... car là en l'état vois pas trop...
 

g.milano

XLDnaute Junior
Re : Erreur 91, oui mézou ?

Un autre probleme m'a mis la puce a l'oreille : la macro est liee par un bouton personnaliser dans la barre des taches. Mais contrairement a la macro qui fonctionne avec la commande d'annulation des liens (le fameux ActiveSheet.Hyperlinks.Delete), celle-ci se trouve dans un fichier de macro complementaire (feuille "ThisWorkbook" d'un fichier en .xla). Je dis ca parce que j'ai une autre macro en cours de developpement qui bug aussi (a la suite de la premiere) sur un commande ActiveSheet.ShowAllData (desactivation du filtre installe par la macro precedente qui marche toujours sur une autre 4eme macro). Les macros qui foncfionnent sont dans un module standard du fichier "personnal.xls".

Donc la question deviendrait : est-il possible d'activer des fonctions "ActiveSheet." a partir d'un "ThisWorkbook" de macro complementaire (.xla) ou dois-je obligatoirement implemanter ma macro dans un module standard ? Quelles sont les fonctions qui sont inutilisables dans le "ThisWorkbook" d'un .xla (mais qui fonctionnent dans un module standard) ?

Je mets le fichier au cas ou...
 

Fichiers joints

Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Erreur 91, oui mézou ?

Bonjour,

pas beaucoup de code dans ton classeur... mais d'après ce que je comprends il me semble que ton code serait mieux placé dans un module standard plutôt que dans le module "thisworkbook", qui comme son nom l'indique se rapporte au classeur dans lequel il est situé...

bonne journée
@+
 

Haut Bas