|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Date d'inscription: janvier 2008
Messages: 4
|
Bonjour, j'ai une erreur sous Excel 2000 que je n'arrive pas à maitriser, des fois ça marche des fois non, et je ne sais pas pourquoi, voilà l'extrait du code :
Code :
Dim area As Range (...) Set area = Range(Sheets(1).Cells(i, j), Sheets(1).Cells(i, j+8)) With area .Borders(xlEdgeLeft).Weight = xlThin .Borders(xlEdgeRight).Weight = xlThin .Borders(xlEdgeBottom).Weight = xlThin .Interior.ColorIndex = 2 .Validation.Delete .Validation.Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:="0", Formula2:="1" 'ça plante ici .Locked = False End With Erreur définie par l'application ou par l'objet" J'ai essayé d'insérer un ".select" avant la validation pour comprendre, et des fois même ça plante. Je sais par exemple que si on ne met pas le ".delete" et qu'il y a déjà une validation ça plante à tous les coups, mais là... je vois vraiment pas ! Merci d'avance pour votre aide |
|
|
|
|
|
#2 |
|
Membre Expert
![]() Date d'inscription: juillet 2008
Messages: 1 253
|
ça à l'aire de fonctionner
Code :
Set area = Sheets(1).Range(Sheets(1).Cells(i, j), Sheets(1).Cells(i, j + 8)) With area .Borders(xlEdgeLeft).Weight = xlThin .Borders(xlEdgeRight).Weight = xlThin .Borders(xlEdgeBottom).Weight = xlThin .Interior.ColorIndex = 2 .Validation.Delete .Validation.Add Type:=xlValidateDecimal, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="0", Formula2:="1" 'ça plante ici .Locked = False End With
__________________
Cordialement. |
|
|
|
|
|
#3 |
|
Invité de passage
![]() Date d'inscription: janvier 2008
Messages: 4
|
Ben juste cet extrait oui, mais quand je suis au boulot j'ai une erreur, alors :
-Soit ça vient de Excel 2000 -Soit ça vient des lignes d'avant |
|
|
|
|
|
#4 |
|
Membre Expert
![]() Date d'inscription: juillet 2008
Messages: 1 253
|
cette ligne me gêne quand même
Code :
Set area = Range(Sheets(1).Cells(i, j), Sheets(1).Cells(i, j+8)) Code :
Set area = sheets(1).Range(Sheets(1).Cells(i, j), Sheets(1).Cells(i, j+8))
__________________
Cordialement. |
|
|
|
|
|
#5 |
|
Invité de passage
![]() Date d'inscription: janvier 2008
Messages: 4
|
Oui effectivement, je l'avais mis au début et j'avais vu que ça marchait en l'enlevant, je vois pas trop l'intérêt de le mettre partout, pour moi dès qu'on met :
sheets(1).range(...) on sait que la plage est est dans la feuille 1, enfin bon c'est sûrement plus propre. |
|
|
|
|
|
#6 |
|
Membre Expert
![]() Date d'inscription: juillet 2008
Messages: 1 253
|
si sheets(1) n'est pas la feuille active, tu auras des désagréments
c'est pas un choix
__________________
Cordialement. |
|
|
|
|
|
#7 |
|
Invité de passage
![]() Date d'inscription: janvier 2008
Messages: 4
|
Justement dans mon cas c'était pas le feuille active et ça avait l'air de marcher mais bon effectivement on ne maîtrise pas le fonctionnement à 100% je suis d'accord.
|
|
|
|
|
|
![]() |
||
[XL-2000] Erreur validation range
|
||
| Outils de la discussion | |
|
|