Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Private Sub Workbook_Open

6 réponses
Avatar
Tibert
Bonjour à tous;
J'ai récuper ce code pour aller à la date du jour sur ma feuille 2008 à
l'ouverture de mon fichier, qui contient plusieurs feuille, pourquoi ? il
sélectionne la date 05/11/2008 au lieu de 05/01/2008

Private Sub Workbook_Open()
Sheets("2008").Select
Cells.Find(What:=Date, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
End Sub
Merci

6 réponses

Avatar
Misange
Bonjour
1) quelle date lui demandes tu de chercher ? Qu'il trouve le 11/5/2008
au lieu du 5/11/2008 est logique et agaçant : VBA cause en anglais et
utilise le format de date anglais... plus d'infos et différentes
solutions sur la page temps/dates d'excelabo. mais qu'il trouve le 5/11
au lieu du 5/1 est difficile à comprendre.
2) pourquoi tu cherches ta date dans les formules ? LookIn:=xlFormulas

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour à tous;
J'ai récuper ce code pour aller à la date du jour sur ma feuille 2008 à
l'ouverture de mon fichier, qui contient plusieurs feuille, pourquoi ? il
sélectionne la date 05/11/2008 au lieu de 05/01/2008

Private Sub Workbook_Open()
Sheets("2008").Select
Cells.Find(What:Úte, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
End Sub
Merci




Avatar
Carim
Bonjour,

J'espère que ma question est superflue ...
As-tu vérifié la date système de ton ordinateur ?
Avatar
Tibert
Merci; pour ta réponse
je lui demande de chercher la date du jour (aujourdhui), c'est à dire à
l'ouverture il va directement sur la date du jour comme ma feuille comporte
tout les jours de l'année, sa m'évite de déffiler jusqu'a trouver la date du
jour


Bonjour
1) quelle date lui demandes tu de chercher ? Qu'il trouve le 11/5/2008
au lieu du 5/11/2008 est logique et agaçant : VBA cause en anglais et
utilise le format de date anglais... plus d'infos et différentes
solutions sur la page temps/dates d'excelabo. mais qu'il trouve le 5/11
au lieu du 5/1 est difficile à comprendre.
2) pourquoi tu cherches ta date dans les formules ? LookIn:=xlFormulas

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour à tous;
J'ai récuper ce code pour aller à la date du jour sur ma feuille 2008 à
l'ouverture de mon fichier, qui contient plusieurs feuille, pourquoi ? il
sélectionne la date 05/11/2008 au lieu de 05/01/2008

Private Sub Workbook_Open()
Sheets("2008").Select
Cells.Find(What:Úte, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
End Sub
Merci







Avatar
MichDenis
Si tu veux rechercher une date avec la méthode "Find", tu devrais lire
cet article : http://xlwiki.free.fr/wiki/wakka.php?wiki=RechercheDate
De mémoire, cet article s'occupe principalement de rechercher UNE DATE avec
les OPÉRATEURS : ">" OU "<" OU ">=" OU "<="

Comme tu utilises l'opérateur "=" dans ta procédure, la méthode Find recherche
une chaîne de caractère (représentant une date) et non une date qui est une valeur
numérique pour excel. Et le principe de base, il faut que la date recherchée est
exactement le même format que celui utilisé dans ta plage de cellules. (C'est ce que
dise les guru américains sur le sujet.... je suppose que peux d'entre eux ont vraiment
travaillé sur une version autre que la langue anglaise...car ils auraient apporté des
précisions voir des nuances à leur propos.) Tout ceci n'est pas évident à réaliser ...
ça prend presqu'un bouquin seulement pour expliquer le sujet ...

En contrepartie, je te suggère quelque chose de beaucoup plus performant et plus
simple à utiliser :

'--------------------------------
Sub test()

Dim No_Ligne As Variant

With Worksheets("Feuil1") 'nom feuille à adapter
.Activate
No_Ligne = Application.Match(CLng(Date), .Range("C3:C50"), 0)
If Not IsError(No_Ligne) Then
.Range("C" & No_Ligne).Select
Else
Err.Clear
MsgBox "pas trouvé"
End If
End With

End Sub
'--------------------------------






"Tibert" a écrit dans le message de news:

Bonjour à tous;
J'ai récuper ce code pour aller à la date du jour sur ma feuille 2008 à
l'ouverture de mon fichier, qui contient plusieurs feuille, pourquoi ? il
sélectionne la date 05/11/2008 au lieu de 05/01/2008

Private Sub Workbook_Open()
Sheets("2008").Select
Cells.Find(What:Úte, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
End Sub
Merci
Avatar
Tibert
Merci ; pour ta réponse
Tu as raison à la place du code précédent, j'ai utuliser le code que tu ma
proposer il est mieux car en plus je me dirige sur la colonne de mon choix,
en remplacent (C) par (F) colonne que je dois renseigner.
encore merci

@ +


Si tu veux rechercher une date avec la méthode "Find", tu devrais lire
cet article : http://xlwiki.free.fr/wiki/wakka.php?wiki=RechercheDate
De mémoire, cet article s'occupe principalement de rechercher UNE DATE avec
les OPÉRATEURS : ">" OU "<" OU ">=" OU "<="

Comme tu utilises l'opérateur "=" dans ta procédure, la méthode Find recherche
une chaîne de caractère (représentant une date) et non une date qui est une valeur
numérique pour excel. Et le principe de base, il faut que la date recherchée est
exactement le même format que celui utilisé dans ta plage de cellules. (C'est ce que
dise les guru américains sur le sujet.... je suppose que peux d'entre eux ont vraiment
travaillé sur une version autre que la langue anglaise...car ils auraient apporté des
précisions voir des nuances à leur propos.) Tout ceci n'est pas évident à réaliser ...
ça prend presqu'un bouquin seulement pour expliquer le sujet ...

En contrepartie, je te suggère quelque chose de beaucoup plus performant et plus
simple à utiliser :

'--------------------------------
Sub test()

Dim No_Ligne As Variant

With Worksheets("Feuil1") 'nom feuille à adapter
.Activate
No_Ligne = Application.Match(CLng(Date), .Range("C3:C50"), 0)
If Not IsError(No_Ligne) Then
.Range("C" & No_Ligne).Select
Else
Err.Clear
MsgBox "pas trouvé"
End If
End With

End Sub
'--------------------------------






"Tibert" a écrit dans le message de news:

Bonjour à tous;
J'ai récuper ce code pour aller à la date du jour sur ma feuille 2008 à
l'ouverture de mon fichier, qui contient plusieurs feuille, pourquoi ? il
sélectionne la date 05/11/2008 au lieu de 05/01/2008

Private Sub Workbook_Open()
Sheets("2008").Select
Cells.Find(What:Úte, After:¬tiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:úlse, SearchFormat:úlse).Activate
End Sub
Merci






Avatar
Misange
excellente remarque ! chez moi la macro citée fonctionne très bien...

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour,

J'espère que ma question est superflue ...
As-tu vérifié la date système de ton ordinateur ?