Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2011, 11h13   #1
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
Par défaut FIND sur DATE incompréhensible.

Bonjour tout le monde,

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
WMemo_Date = CDate("01/" & G_MOIS & "/" & G_ANNEE)
WTrouve = False
WLig_Trouve = 0
Dim OBJ_FICCOM As Object
'cherche l'occurence dans la colonne 1
Set OBJ_FICCOM = Columns(1).Find(WMemo_Date, LookIn:=xlValues)
'Si elle est trouvé, renseigne WLig_Trouve avec le N° de ligne
If Not OBJ_FICCOM Is Nothing Then
WTrouve = True
WLig_Trouve = OBJ_FICCOM.Row
Else
WTrouve = False
WLig_Trouve = 0
End If
Voici donc le code que j'utilise pour retrouver une date dans la première colonne de ma feuille.
La variable G_MOIS contient "01", donc je cherche le 01/01/2011.
Mais, en mode débuggage, le SET me positionne systématiquement sur le 01/11/2011.
(La colonne est bien au format DATE).
Incompréhensible, vous dis-je
Bon, bref, j'espère que vous allez pouvoir m'aider, parce que je suis entrain de craquer.
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 11h21   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim WMemo_Date As Date
Dim OBJ_FICCOM As Range
Dim WTrouve As Boolean
Dim WLig_Trouve As Long
Dim G_MOIS As Byte
Dim G_ANNEE As Integer
 
G_MOIS = 1
G_ANNEE = 2011
 
WMemo_Date = CDate("01/" & G_MOIS & "/" & G_ANNEE)
'cherche l'occurence dans la colonne 1
Set OBJ_FICCOM = Worksheets("Feuil1").Range("A:A").Find(WMemo_Date, LookIn:=xlFormulas)
'Si elle est trouvé, renseigne WLig_Trouve avec le N° de ligne
If Not OBJ_FICCOM Is Nothing Then
    WTrouve = True
    WLig_Trouve = OBJ_FICCOM.Row
    Set OBJ_FICCOM = Nothing
Else
    WTrouve = False
    WLig_Trouve = 0
End If
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/11/2011, 11h28   #3
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
Merci, mais ça ne fonctionne pas.
Avec ta méthode, ça me renvoie systématiquement "Nothing" alors que la valeur existe bien.
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 11h47   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Tes dates en colonne A sont issues de formules ou écrites en dur et quel est leur format?
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/11/2011, 12h26   #5
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
C'est un fichier CSV que je charge, donc elles sont bien en dur et quand je regarde le format des cellules, j'ai bien "Date".
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 12h39   #6
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut heu...!!!

bonjour

a tout hazard

si tu a mi ta date dans ta cellule avec l'outil formule


tu a peut etre un espace devant la date
j'ai le meme probleme chez moi avec 2007

Code :
1
2
 
Set OBJ_FICCOM = Worksheets("Feuil1").Range("A:A").Find(" " & WMemo_Date, LookIn:=xlFormulas
au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/11/2011, 12h48   #7
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
Nan, j'ai vérifié à tout hasard, mais je n'ai pas d'espace, ni avant, ni après.
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 12h57   #8
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

re

ta variable si comme dans l'exemple de mercatog est egale à "1" il est possible que ca ne marche pas c'est "01" selon le format utilisé dans ta cellule

a regarder

au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/11/2011, 13h08   #9
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
J'y ai pensé aussi, mais vérification faite, il y a bien "01".

Je viens de tester ça qui fonctionne nickel :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
i = 1
WTrouve = False
WLig_Trouve = 0
While i <= ActiveCell.SpecialCells(xlLastCell).Row And WTrouve = False
    WDate_Lue = Cells(i, 1).Value
    If WDate_Lue = WMemo_Date Then
        WTrouve = True
        WLig_Trouve = i
    End If
    i = i + 1
Wend
Mais c'est quand même bourrin comme méthode et surtout, je pense que ça va ralentir les traitements.
De plus, je voudrai bien comprendre pourquoi la première méthode ne fonctionne pas car j'utilise très souvent la méthode FIND de la même manière et je voudrai pouvoir lui faire confiance ou alors corriger ce qui ne va pas.
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 13h20   #10
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

re

comment se presente ta date en dur chez toi


ecrit la moi tel qu'elle se presente chez toi

je vais faire des tests

au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 13h23   #11
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
Lorsque je vérifie le format de cellule, c'est le premier format noté "*14/03/2001" qui est bien sélectionné.
La feuille se compose de 2 colonnes : DATES et VALEURS, fait 307 lignes de 01/01/2011 à 03/11/2011 dans la première colonne.

01/01/2011 0
02/01/2011 0
03/01/2011 29
04/01/2011 18
05/01/2011 23
06/01/2011 39
07/01/2011 18
...
...
...
27/10/2011 35
28/10/2011 34
29/10/2011 0
30/10/2011 0
31/10/2011 6
01/11/2011 0
02/11/2011 29
03/11/2011 0
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 13h43   #12
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub Description3()
Dim WMemo_Date As Date
Dim OBJ_FICCOM As Range
Dim WTrouve As Boolean
Dim WLig_Trouve As Long
Dim G_MOIS As Byte
Dim G_ANNEE As Integer
 
G_MOIS = 2
G_ANNEE = 2011
 
WMemo_Date = CDate("01/" & G_MOIS & "/" & G_ANNEE)
'cherche l'occurence dans la colonne 1
Set OBJ_FICCOM = Worksheets("Feuil1").Range("A:A").Find(Format(WMemo_Date, "m/d/yyyy"), LookIn:=xlValues, lookat:=xlWhole)
'Si elle est trouvé, renseigne WLig_Trouve avec le N° de ligne
If Not OBJ_FICCOM Is Nothing Then
    WTrouve = True
    WLig_Trouve = OBJ_FICCOM.Row
    Set OBJ_FICCOM = Nothing
Else
    WTrouve = False
    WLig_Trouve = 0
End If
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 14h04   #13
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
Bon, je ne comprend rien à rien et encore moins que ça.
Tout refonctionne normalement.
Je n'ai pourtant rien touché.
Le code que j'ai mis en premier post fonctionne impec.

Voila les 3 tests que j'ai fait :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
WMemo_Date = CDate("01/" & G_MOIS & "/" & G_ANNEE)
WTrouve = False
WLig_Trouve = 0
Dim OBJ_FICCOM As Object
'cherche l'occurence dans la colonne 1
Set OBJ_FICCOM = Columns(1).Find(WMemo_Date, LookIn:=xlValues)
'Si elle est trouvé, renseigne WLig_Trouve avec le N° de ligne
If Not OBJ_FICCOM Is Nothing Then
    WTrouve = True
    WLig_Trouve = OBJ_FICCOM.Row
Else
    WTrouve = False
    WLig_Trouve = 0
End If
-----------------------------------------------------------------
Dim WMemo_DateZZ As Date
Dim OBJ_FICCOMZZ As Range
Dim WTrouveZZ As Boolean
Dim WLig_TrouveZZ As Long
Dim G_MOISZZ As Byte
Dim G_ANNEEZZ As Integer
 
G_MOISZZ = 1
G_ANNEEZZ = 2011
 
WMemo_DateZZ = CDate("01/" & G_MOISZZ & "/" & G_ANNEEZZ)
'cherche l'occurence dans la colonne 1
Set OBJ_FICCOMZZ = Worksheets("TEMP").Range("A:A").Find(Format(WMemo_DateZZ, "m/d/yyyy"), LookIn:=xlValues, lookat:=xlWhole)
'Si elle est trouvé, renseigne WLig_Trouve avec le N° de ligne
If Not OBJ_FICCOMZZ Is Nothing Then
    WTrouveZZ = True
    WLig_TrouveZZ = OBJ_FICCOMZZ.Row
    Set OBJ_FICCOMZZ = Nothing
Else
    WTrouveZZ = False
    WLig_TrouveZZ = 0
End If
-----------------------------------------------------------------
i = 1
WTrouve = False
WLig_Trouve = 0
While i <= ActiveCell.SpecialCells(xlLastCell).Row And WTrouve = False
    WDate_Lue = Cells(i, 1).Value
    If WDate_Lue = WMemo_Date Then
        WTrouve = True
        WLig_Trouve = i
    End If
    i = i + 1
Wend
Si quelqu'un a une explication du pourquoi du comment, je suis preneur.
Je vais quand même quitter totalement Excel et refaire les tests, on ne sait jamais.

Edit : bon, fausse alerte, après avoir quitter et relancer Excel, la méthode 1 recherche toujours le 01/11/2011 au lieu du 01/01/2011 demandé, mais les méthode 2 et 3 fonctionnent.

Je met un point d'arrêt et je trace. Au premier coup, après avoir lrenacer Excel, ça ne fonctionne pas. Je stoppe et je relance directement, sans rien faire d'autre et là, ça fonctionne !!!

Rhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Au secours !

(@Mercatog : pour mon info, est-ce que tu peux m'expliquer pourquoi tu déclare G_MOIS en Byte, stp ?)
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 14h14   #14
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

Citation:
Envoyé par Zebulon777
Si quelqu'un a une explication du pourquoi du comment, je suis preneur.
Ton code a toujours fait ce que tu lui a demandé

01/01/2011 est "compris" dans 01/11/2011 si on considère que tu as mis des jokers (?) dans ta recherche ce que tu fais explicitement en spécifiant dans les paramètres LookAt:=xlPart ou en le faisant implicitement car c'est le paramètre par défaut ou bien celui mémorisé dans la dernière recherche qui peut ne pas être du VBA.

Si, comme conseillé dans l'aide, tu mets de façon explicite touts les paramètres, tu te protèges contre les phénomènes d'incompréhension.
en notifiant , tu lui imposes une recherche sans joker et tu as le résultat escompté.

et surtout, il faut se souvenir que :
Citation:
Les paramètres des arguments RechercherDans, Regarder, OrdreRecherche et RespecterNbreOctets sont enregistrés chaque fois que vous utilisez cette méthode. Si vous ne spécifiez aucune valeur pour ces arguments lors du prochain appel à la méthode, les valeurs enregistrées sont utilisées. Le fait de définir ces arguments modifie les paramètres de la boîte de dialogue Rechercher, ce qui a pour effet de changer les paramètres enregistrés qui sont utilisés lorsque vous ne spécifiez pas les arguments. Pour éviter toute ambiguïté, définissez ces arguments explicitement chaque fois que vous utilisez cette méthode.
donc une bonne syntaxe, selon finalité voulue serait du genre :

Code :
1
2
Set OBJ_FICCOM = Columns(5).Find(What:=WMemo_Date, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=True)

à noter l'emploi de :

Code :
SearchOrder:=xlByColumns
cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 40
Vieux 07/11/2011, 14h23   #15
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
Ho purée ! CQFD !

J'ai utilisé :

Code :
1
2
3
 
Set OBJ_FICCOM = Columns(1).Find(What:=WMemo_Date, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=True)
Tous les derniers tests semblent fonctionner.

Et question surement très bête, mais est-ce qu'il faut mettre systématiquement :

Code :
1
2
 
Set OBJ_FICCOM = Nothing
?
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 14h41   #16
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Citation:
Envoyé par Zebulon777 Voir le message
Et question surement très bête, mais est-ce qu'il faut mettre systématiquement :

Code :
1
2
 
Set OBJ_FICCOM = Nothing
?
Oui, dirons nous, tu détruit de façon volontaire le pointeur vers l'objet, ce qui se ferait automatiquement selon le contexte en sortie de portée, fin de procédure etc...

Mais c'est une très bonne pratique de le faire de façon explicite, ça montre que tu maîtrise ton code et ce que tu fais et donc t'économise bien plus de temps en maintenance et débogage que ça t'en a coûté à l'écrire. Surtout dans le cas de code plus complexe ou tu travailles sur diverses instances de programmes Office etc...

cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 14h54   #17
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
Super.
Merci beaucoup à tous les 3 pour le coup de main.
Y a pas à dire, on sait où sont les bons...
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 15h22   #18
Membre du Club
 
Inscription : février 2005
Messages : 358
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 358
Points : 61
Points : 61
Envoyer un message via MSN à Zebulon777
Je relance le sujet car je viens de me rendre compte que dans certains cas, je me retrouve avec une "incompatibilité de type".

Je pense que c'est du au fait que dans la colonne, après traitement, il y a des lignes qui contiennent du texte, mais je n'en suis pas certain.

Est-ce qu'il y a un moyen d'éviter l'erreur ?

Voila code utilisé :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
    Sheets(P_FeuilleTraficAnnuel).Select
'Recherche si la date a déjà été traitée.
    WMemo_Date = CDate("01/" & G_MOIS & "/" & G_ANNEE)
    WTrouve = False
    WLig_Trouve = 0
    Dim OBJ_TRAFIC As Object
    'cherche l'occurence dans la colonne 2
''''''''''    Set OBJ_TRAFIC = Columns(2).Find(WMemo_Date, LookIn:=xlValues)
    Set OBJ_TRAFIC = Columns(2).Find(What:=WMemo_Date, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByColumns, _
    SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=True)
 
    'Si elle est trouvé, renseigne WLig_Trouve avec le N° de ligne
    If Not OBJ_TRAFIC Is Nothing Then
        WTrouve = True
        WLig_Trouve = OBJ_TRAFIC.Row
    Else
        WTrouve = False
        WLig_Trouve = 0
    End If
    Set OBJ_TRAFIC = Nothing
Je précise que lorsque j'utilise la ligne en commentaire ('''''''''' Set OBJ_TRAFIC = Columns(2).Find(WMemo_Date, LookIn:=xlValues)), ça fonctionne, je n'ai pas l'erreur.
__________________
Zeb'...
Zebulon777 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 17h14   #19
Expert Confirmé
 
Avatar de patricktoulon
 
patrick
Inscription : avril 2009
Messages : 1 829
Détails du profil
Informations personnelles :
Nom : patrick
Âge : 42
Localisation : France, Var (Provence Alpes Côte d'Azur)

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 1 829
Points : 2 857
Points : 2 857
Envoyer un message via MSN à patricktoulon
Par défaut re

re bonjour

j'ai fait les test sur les 307 lignes avec la formule n°1 des dates et ecrites en dur dans les cellules et chez moi ca fonction comme ca

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
Sub truc_machin()
Dim WMemo_Date As Date, G_MOIS As Variant, G_ANNEE As Variant
G_MOIS = 1
G_ANNEE = "2011"
 
WMemo_Date = CDate("01/" & G_MOIS & "/" & G_ANNEE)
 
With Sheets(1).Range("a1:a" & Sheets(1).Range("a65530").End(xlUp).Row)
    Set c = .Find(WMemo_Date, LookIn:=xlFormulas)
    If Not c Is Nothing Then
        firstAddress = c.Address
MsgBox c.Address
End If
End With
End Sub
au plaisir
__________________
mes fichiers dans les contributions:
mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA
mon nouveau mouse in out pour les boutons dans un userform
mon addin pour prendre un cliché de selection de cellules

si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres
et n'oublie pas de voter
patricktoulon est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/11/2011, 20h35   #20
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par patricktoulon Voir le message
(...)

j'ai fait les test sur les 307 lignes avec la formule n°1 des dates et ecrites en dur dans les cellules et chez moi ca fonction comme ca
(...)
peu-être aujourd'hui mais as tu compris :
Citation:
Envoyé par Ormonth Voir le message
(...)
et surtout, il faut se souvenir que :
Citation:
Les paramètres des arguments RechercherDans, Regarder, OrdreRecherche et RespecterNbreOctets sont enregistrés chaque fois que vous utilisez cette méthode. Si vous ne spécifiez aucune valeur pour ces arguments lors du prochain appel à la méthode, les valeurs enregistrées sont utilisées. Le fait de définir ces arguments modifie les paramètres de la boîte de dialogue Rechercher, ce qui a pour effet de changer les paramètres enregistrés qui sont utilisés lorsque vous ne spécifiez pas les arguments. Pour éviter toute ambiguïté, définissez ces arguments explicitement chaque fois que vous utilisez cette méthode.
(...)
?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h59.


 
 
 
 
Partenaires

Hébergement Web