VB Excel : Recherche pour atteindre une cellule

Fermé
Bart59000 Messages postés 3 Date d'inscription dimanche 3 mai 2020 Statut Membre Dernière intervention 5 mai 2020 - Modifié le 3 mai 2020 à 20:26
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 5 mai 2020 à 17:35
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
3 mai 2020 à 21:02
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 dimanche 3 mai 2020 Statut Membre Dernière intervention 5 mai 2020
Modifié le 4 mai 2020 à 08:30
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
4 mai 2020 à 08:37
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 dimanche 3 mai 2020 Statut Membre Dernière intervention 5 mai 2020
5 mai 2020 à 17:25
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
5 mai 2020 à 17:35
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