cs_lujien
Messages postés3Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention14 novembre 2007
-
13 nov. 2007 à 08:41
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
14 nov. 2007 à 23:32
Bonjour, je travail avec différentes macros sous Excel 2002, je viens de migrer un poste sous 2007 PRO, et un problème d'execution de l'une de mes macros m'embéte fortement. Le message d'erreur est le 1004 concernant un objet. Pour moi ce problème est lié au paramétrage de la sécurité des Macros Excel, mais je ne trouve pas le bon paramétre à modifier merci de me filler un petit coup de main.
cs_lujien
Messages postés3Date d'inscriptionlundi 10 mai 2004StatutMembreDernière intervention14 novembre 2007 14 nov. 2007 à 14:09
Merci pour tes informations, le problème est liée à la boucle selon les différents test effectué sous Excel 2007, les DO et Loop ne fonctionne plus tel que établie Sous les ancienne version.
CAD dans l'ancienne version :
Do
puis
Loop Until (variable)
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 14 nov. 2007 à 00:45
Ouf ...
Je pensais trouver quelque chose de plus explicite....
C'est pourtant une commande de base très simple...(?)
La première chose que j'essaierais, c'est
MsgBox Activecell. Address
tout juste avant la ligne d'erreur.... mais tu l'as peut-être essayé... (?)
Et fais attention à ce genre de code Cells.Find(What:soustot & " ", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=True) .Activate
Essaie d'éviter les Select et les Activate quand ce n'est pas nécessaire.
En Selectionnant, ton code peut se trouver déphasé par rapport à ce que tu faisais et tu risques de perdre le contrôle avec les Offset(...)
Crée plutôt une variable As Range
Dim Valeur As Range
Set Valeur = Cells.Find("=", LookIn:=xlFormulas)
If Not Valeur Is Nothing Then .... 'trouvé
......
MPi²
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 14 nov. 2007 à 23:32
Je ne pense pas que ce soit la raison...
Ces méthodes (voir plus bas) de boucler existent en VB depuis des lunes et devraient fonctionner encore sous 2007... j'imagine ...
Do
Loop Until
Do
Loop While
Do Until
Loop
Do While
Loop
Les 4 semblent faire la même chose,
mais les 2 premières boucles seront effectuées au moins une fois.
Les 2 dernières seront effectuées seulement si la condition est vraie.
C'est important de bien choisir laquelle on utilise selon les conditions en cours...