VB Excel : Recherche pour atteindre une cellule

Bart59000 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Pourriez-vous m'indiquer la marche à suivre pour faire une macro VB sur Excel :
Dans une plage de données CK3:ZZ3 j'ai les dates du calendrier
L'idée serait de trouver la date du jour dans cette plage (plage sur Feuil1) puis d'aller au croisement avec la ligne 50.

Du coup si date du jour : CZ3 --> Pointer la cellule CZ50.

J'ai essayer de m'en sortir avec diverses réponses sur les forums mais je bloque.

Merci par avance.

Configuration: Windows / Chrome 81.0.4044.122
A voir également:

3 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Plusieurs possibilités, comme par exemple faire des boucles ..

Mais je préfère de loin la méthode find FIND :https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
0
Bart59000 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Jordane.
Bon je suis un total beginner ds le VB.

Du coup pour commencer j'ai rechercher déjà la date ds une ligne mais rien à faire il ne la trouve pas.

Si tu as des pistes sur le pourquoi?
Sub Cherche()
'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String

Valeur_Cherchee = Date
Set PlageDeRecherche = ActiveSheet.Rows(3)

Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee)
If Trouve Is Nothing Then
    AdresseTrouvee = Valeur_Cherchee & " n'est pas présent dans " & PlageDeRecherche.Address
Else
    AdresseTrouvee = Trouve.Address
End If
MsgBox AdresseTrouvee
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
End Sub


EDIT : Ajout des balises de code
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Sub Cherche()
'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As Date, AdresseTrouvee As String

Valeur_Cherchee = CDate(Date)
Set PlageDeRecherche = ActiveSheet.Rows(3)

Set Trouve = PlageDeRecherche.Cells.Find(What:=Valeur_Cherchee, Lookat:=xlPart, LookIn:=xlValues)
If Trouve Is Nothing Then
    AdresseTrouvee = Valeur_Cherchee & " n'est pas présent dans " & PlageDeRecherche.Address
Else
    AdresseTrouvee = Trouve.Address
End If
MsgBox AdresseTrouvee
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
End Sub




PS: A l'avenir, merci d'utiliser les balises de code pour poster ton code sur le forum
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

0
Bart59000 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci Jordane,
C'est noté pour les balises je ne connaissais pas.

Le système me renvoi encore le message avec le code modifié (Voir imprime ecran)


Ensuite j'essaye de voir quelle méthode pour pouvoir sélectionner la colonne du résultat ci dessus (quand j'arriverai à le faire fonctionner) et décaler de 10 lignes en dessous.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Les cellules qui contiennent les dates dans ton classeur... sont bien au format date ??

Pourrais tu nous partager ton classeur ?
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
0