Rechercher une date et nom sur tableau volumineu

  • Initiateur de la discussion Initiateur de la discussion Tophe2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Tophe2

XLDnaute Impliqué
Bonjour le forum

Je suis en train de réaliser un tableau récapitulatif sur plusieurs personnels (300 noms environs) sur l'année 2011 voir même 2012. j'ai cherché une macro pour trouver un nom rapidement merci à "papou net" cependant j'aimerai également pouvoir trouver rapidement une date j'ai donc cherché une macro mais je n'arrive pas à mettre le format date présent dans mon tableau !! pouvez vous m'aider ?

Et est il possible également de réaliser une macro pour se mettre directement sur la cellule en lien avec la date par rapport au nom ?

Par exemple dans le fichier joint, M. titi le dim 9 janv, alors se mettre en L7.

Il se peut que par personnel nous ayons 3 lignes et non deux comme dans l'exemple.

Cordialement
Christophe.
 

Pièces jointes

Re : Rechercher une date et nom sur tableau volumineu

Bonjour Tophe2,

En modifiant le système de recherche comme suit, ça fonctionne :

Code:
Sub RechercheDateFind2()
  d = InputBox("Date? jj/mm/aa")
  If d <> "" Then
    For Each cel In Range("D4:IV4")
      If cel = "" Then Exit Sub
      If cel = CSng(DateValue(d)) Then
        cel.Select
        Exit Sub
      End If
    Next
  End If
End Sub

Je n'ai pas trouvé le moyen de convertir les dates pour utiliser l'instruction "Find", car le problème vient bien de là !

A l'occasion, je m'y pencherai.

Espérant avoir répondu.

Cordialement.

PS : pour la seconde partie de ta question, j'y regarde également.
 
Re : Rechercher une date et nom sur tableau volumineu

Finalement, je suis allé plus vite que prévu.

Voici donc le code à remplacer en intégralité dans ton fichier :

Code:
Public Ligne As Long, Colonne As Byte

Sub Selection_Du_nom()
Sheets("Feuil1").Visible = True
Sheets("Feuil1").Select
Noms = InputBox("Inscrivez le nom du Personnel", "Recherche du Personnel", xpos:=300, ypos:=300)
Range("b2").Select
For Each cel In [A5:A1000]
  If Left(cel, Len(Noms)) = Noms Then
    Ligne = cel.Row
    Exit For
    Else
    Ligne = 4
  End If
Next
Cells(Ligne, Colonne).Select
End Sub

Sub RechercheDateFind2()
  d = InputBox("Date? jj/mm/aa")
  If d <> "" Then
    On Error Resume Next
    For Each cel In Range("D4:IV4")
      If cel = "" Then Exit Sub
      If cel = CSng(DateValue(d)) Then
        Colonne = cel.Column
        Exit For
        Else
        Colonne = 1
      End If
    Next
  End If
Cells(Ligne, Colonne).Select
End Sub

Au démarrage du fichier, les variables "Ligne" et "Colonne" sont vides. Lorsque tu auras fait un 1er choix (sur la date ou sur le nom), la sélection portera sur la ligne pour les dates ou sur la colonne pour les noms. Quand tu feras ton 2ème choix, la sélection portera sur l'intersection de la ligne et de la colonne adéquates.

Espérant avoir répondu.

Cordialement.
 
Re : Rechercher une date et nom sur tableau volumineu

Bonjour Papou net

Merci pour ton aide et le super travail.

Par contre si je saisi par exemple la date du 25/12/11 et tutu il ne sélectionne pas l'intersection mais simplement le nom sauf bien sur mauvaise manip de ma part !!.

Est il possible de se rendre directement sur la cellule et de la voir à l'écran.

Edit: je viens de comprendre j'ai enregistré mon fichier au format 2003/97 donc il s'est arrêté à la colonne IV je vais donc l'enregistrer au format excel et faire en sorte de garder les macro.
Je fais et te tiens au courant si PB.

Merci
Christophe.
 
Dernière édition:
Re : Rechercher une date et nom sur tableau volumineu

Re,

J'ai donc enregistré en prenant en compte les macro dans le code vba j'ai saisi la colonne ABF pour prise en compte du tableau.
Mais la recherche s'arrête en colonne IU et ne va pas plus loin. Est ce un BUG de Excel 2007 !!. Merci pour ton aide très précieuse.

Je te joint le fichier.

Cordialement
Christophe.
 

Pièces jointes

Re : Rechercher une date et nom sur tableau volumineu

Bonjour,

Papou😉, je n'ai pas suivi ce fil, mais si ce fichier de JB peut t'aider...
A+

Bonjour david84,

Je te remercie pour ton lien, mais c'est je pense celui qu'a suivi Tophe2 : il est exactement identique. J'avais essayé de le reproduire, mais j'avais supprimé le .Select dont je ne saisissais pas l'utilité.

Pour ma part, je suis toujours prudent dans la manipukation des dates, et je préfère travailler avec les um"ros de série, je ne réserve le format de date que pour la mise en forme à l'affochage.

Mais je te remercie encore une fois.

Cordialement.
 
Re : Rechercher une date et nom sur tableau volumineu

Re,

J'ai donc enregistré en prenant en compte les macro dans le code vba j'ai saisi la colonne ABF pour prise en compte du tableau.
Mais la recherche s'arrête en colonne IU et ne va pas plus loin. Est ce un BUG de Excel 2007 !!. Merci pour ton aide très précieuse.

Je te joint le fichier.

Cordialement
Christophe.

Re

Essaies en modifiant cette ligne :

Code:
For Each cel In Range("[COLOR="Red"][B]D:D[/B][/COLOR]")

De toute façon, la boucle s'arrête à la première cellule vide trouvée.

Cordialement.
 
Re : Rechercher une date et nom sur tableau volumineu

Re,

J'ai donc fait la modification :

Code:
Sub RechercheDateFind2()
  d = InputBox("Date? jj/mm/aa")
  If d <> "" Then
    On Error Resume Next
   [B] For Each cel In Range("D:D")   [/B]    
  If cel = "" Then Exit Sub
      If cel = CSng(DateValue(d)) Then
        Colonne = cel.Column
        Exit For
        Else
        Colonne = 1
      End If
    Next
  End If
Cells(Ligne, Colonne).Select
End Sub
Mais cela ne fonctionne pas si je saisi le 25/12/11 il se met au 25/02/11.

Cordialement
Christophe
 
Re : Rechercher une date et nom sur tableau volumineu

Re,

J'ai donc fait la modification :

Code:
Sub RechercheDateFind2()
  d = InputBox("Date? jj/mm/aa")
  If d <> "" Then
    On Error Resume Next
   [B] For Each cel In Range("D:D")   [/B]    
  If cel = "" Then Exit Sub
      If cel = CSng(DateValue(d)) Then
        Colonne = cel.Column
        Exit For
        Else
        Colonne = 1
      End If
    Next
  End If
Cells(Ligne, Colonne).Select
End Sub
Mais cela ne fonctionne pas si je saisi le 25/12/11 il se met au 25/02/11.

Cordialement
Christophe

Je regarde ce soir car, pour le moment, je n'ai pas Excel à ma disposition.

A +

Cordialement.
 
Re : Rechercher une date et nom sur tableau volumineu

Re Papou
De rien.
Pour ma part, je suis toujours prudent dans la manipukation des dates, et je préfère travailler avec les um"ros de série, je ne réserve le format de date que pour la mise en forme à l'affochage.
c'est justement l'utilisation d'Equiv qui me semblait intéressante concernant le format de date puisqu'il est dit:
Avec la fonction Equiv(), le format des dates du champ de recherche n'a pas d'importance.
Tu peux ainsi rentrer dans l'inputBox 20/01/2006 ou 20 01 2006 ou 20-01-2006, cela revient en même et ne créé pas de plantage.
Bon courage😉.
 
Re : Rechercher une date et nom sur tableau volumineu

Re,

Je suis en train d'avancer dans la mise en forme de mon tableau et j'aurai bien besoin de 3 lignes par nom et la macro proposé par Papou net ne fonctionne plus. Que faut il modifier pour afficher l'intersection.

Code:
Public Ligne As Long, Colonne As Byte

Sub Selection_Du_nom()
Sheets("Feuil1").Visible = True
Sheets("Feuil1").Select
noms = InputBox("Inscrivez le nom du Personnel", "Recherche du Personnel", xpos:=300, ypos:=300)
Range("b2").Select
For Each cel In [A5:A1000]
  If Left(cel, Len(noms)) = noms Then
    Ligne = cel.Row
    Exit For
    Else
    Ligne = 4
  End If
Next
Cells(Ligne, Colonne).Select
End Sub

Sub RechercheDateFind2()
  d = InputBox("Date? jj/mm/aa")
  If d <> "" Then
    On Error Resume Next
    For Each cel In Range("D:D")  
      If cel = "" Then Exit Sub
      If cel = CSng(DateValue(d)) Then
        Colonne = cel.Column
        Exit For
        Else
        Colonne = 1
      End If
    Next
  End If
Cells(Ligne, Colonne).Select
End Sub

En espérant avoir une solution concernant l'arrêt de la recherche après la colonne IU !!!!.

Edit: Si le nom apparaît par le biais d'une formule à priori la recherche ne se fait pas sur les formules, hors sur les dates c'est bien des formules également, peut être un autre souci !!

Merci
Cordialement
Christophe.
 
Dernière édition:
Re : Rechercher une date et nom sur tableau volumineu

Bonsoir Tophe2,

Pour sélectionner plusieurs cellules, remplace :

Code:
Cells(Ligne, Colonne).Select

par :

Code:
Range(Cells(Ligne, Colonne), Cells(Ligne + 2, Colonne)).Select

Quant à ta deuxième question, peut-être peux tu essayer :

Code:
If Left(cel[COLOR="Red"][B].value[/B][/COLOR], Len(noms)) = noms Then

Bonne soirée.

Cordialement.
 
Re : Rechercher une date et nom sur tableau volumineu

Bonsoir Papou net

J'ai essayé de modifier en fonction de ta proposition mais pas de succès (sauf erreur) c'est pour cela que je te joint le fichier sur lequel j'ai fait la modification.

Merci encore pour ta contribution
Bonne soirée
Christophe.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour