VB Excel : Recherche pour atteindre une cellule

Bart59000 Messages postés 3 Statut Membre -  
jordane45 Messages postés 30426 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

3 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
    1. Bart59000 Messages postés 3 Statut Membre
       
      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
  2. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
  3. Bart59000 Messages postés 3 Statut Membre
     
    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