programme de recherche ???

Dominic67

XLDnaute Nouveau
Bonjour Bonsoir

Dans mon entreprise, nous utilisons Excel pour gerer les personnes en fonction des postes de travail.
Les fichiers de gestions sont composés de plusieurs feuilles sur lesquelles apparaissent les noms des personnes.
Il arrive tres souvent qu'il faille plusieurs minutes pour trouve son nom sur les differentes feuilles.
Je cherche un moyen ou un petit programme me permettant de mettre son nom dans une Userform et ainsi trouve son nom qui est renseigne dans une ou plusieur feuille.

Mon idee est d'avoir un resultat NOM, JOUR et le NOM DE LA FEUILLE

Je vous joint un fichier correspondant au fichier utilisé [file name=StaffP1S1.zip size=50806]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/StaffP1S1.zip[/file]
 

Pièces jointes

  • StaffP1S1.zip
    49.6 KB · Affichages: 19

MichelXld

XLDnaute Barbatruc
bonjour

j'espere que cette adaptation pourra t'aider

j'ai été obligé de supprimer quelques élément de ton classeur pour que le zip soit < à 50 ko


bonne journée
MichelXld [file name=StaffP1S1_V02.zip size=50157]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/StaffP1S1_V02.zip[/file]
 

Pièces jointes

  • StaffP1S1_V02.zip
    49 KB · Affichages: 37

Dominic67

XLDnaute Nouveau
Bonjour

Merci pour votre aide, par contre ce que je cherchais était plutot un deuxieme programme qui me permetterait de faire des recherche dans plusieurs fichiers dont il faudrait renseigne le nom du fichier au depart

Merci encore pour votre idee
 

MichelXld

XLDnaute Barbatruc
rebonjour

je viens de relire ton message initial et à aucun moment tu ne parles d'une recherche dans une autre classeur ...

voici une adaptation qui permet de choisir un classeur , puis de l'ouvrir pour effectuer la recherche dans les feuilles


Option Explicit
Option Compare Text

Private Sub CommandButton1_Click()
Dim i As Integer, X As Integer
Dim Cible As String, firstAddress As String, Classeur As String
Dim Cell As Range
Dim Wb As Workbook

If TextBox1 = '' Then Exit Sub

ListBox1.Clear
Cible = TextBox1

'selectionnes un classeur pour la recherhce
Classeur = Application.GetOpenFilename('Fichiers Excel (*.xls),*.xls')
If Classeur = 'faux' Then Exit Sub

Application.ScreenUpdating = False

Set Wb = Workbooks.Open(Classeur) 'ouverture classeur

With ListBox1 'dimensionnes la listBox
.ColumnCount = 3
.ColumnWidths = '130;90;110'
End With

'boucle sur toutes les feuilles du classeur
For i = 1 To Wb.Sheets.Count
Wb.Sheets(i).Activate
With Wb.Sheets(i).UsedRange.Cells
Set Cell = .Find(Cible, LookIn:=xlValues)
If Not Cell Is Nothing Then
firstAddress = Cell.Address
Do
Cell.Select

'remplissage ListBox quand la donne cible est trouvée
ListBox1.AddItem , X
ListBox1.List(X, 0) = Cells(Cell.Row, 2)
ListBox1.List(X, 1) = Cells(7, Cell.Column)
ListBox1.List(X, 2) = Wb.Sheets(i).Name
X = X + 1

Set Cell = .FindNext(After:=ActiveCell)
Loop While Not Cell Is Nothing And Cell.Address <> firstAddress
End If
End With
Next i

Wb.Close False
Application.ScreenUpdating = True

If ListBox1.ListCount = 0 Then MsgBox 'Le nom ' & Cible & _
' n'a pas été trouvé dans le classeur .'
End Sub




bon apres midi
MichelXld
 

Dominic67

XLDnaute Nouveau
Bonsoir

Merci pour votre reponse, par contre c'est vrai je n'avais précisé que les recherches pouvais se faire dans un autre classeur.

En fait au fur et a mesure des semaines, les classeurs sont mis a jour.
En fin de semaine il est possible de savoir sur quel poste on travaille en semaine s+1 , par contre il faut faire la recherche sur toutes les feuilles presente dans le classeur.
Mon idee est donc d'avoir un petit programme annexe et independant du classeur me permettant de selectionne le classeur adequat ( ceci sont nommé comme ceci p1s1, p1s2 ........p12s1.)
Ainsi il est tres facile et rapide de savoir quel poste on occupe la semaine s+1 et ceci chaque jour de la semaine

Merci beaucoup pour ton aide, je remarque de jour en jour que ce forum est constitue de nombreux passionnés, voir même de pro en vba

Merci et bonne soirée
 

Dominic67

XLDnaute Nouveau
Bonjour

En voulant améliorer mon petit programme, je voudrais insere une barre de progression lorsqu'on clique sur le bouton 'Lancer la recherche '

Et aussi une petite chose que je n'arrive pas a modifier, c'est dans la listbox de résultat, les dates sont en format Américaine.....

Et je cherche le moyen de selectionne d'office un dossier spécifique et sans avoir besoin de choisir a chauqe fois le bon dossier

Merci pour votre aide
 

Toutou

XLDnaute Occasionnel
Bonjour le Forum,
Bonjour Dominic 67,

Tu trouveras en fichier joint un exemple de barre d'avancement sous VBA (il n'y a rien sur les fauilles de calculs).
Cet exemple est issu de 'VBA pour Excel pour Les nuls' de John Walkenbach édition First Interactive. Cet exempl est bien sur à adapter à ton programme.

Mes capacités en vBA étant limitées, c'est la seule manière que j'ai de t'aider;
j'espère que cela répond à tes besoins,
@ +
Toutou

;)
 

Dominic67

XLDnaute Nouveau
Bonjour

Merci pout ton aide, par contre je n'ai plus trop le temps en ce moment pour continuer ( un petit bébé qui me prend enormement de temps .....)

D'autre part, je ne trouve pas de fichier joint à ton message ..... :whistle:

Bonne fin d'aprem
 

Toutou

XLDnaute Occasionnel
bonjour à tous,
salut Dominic,
désolé pour la pièce jointe, je vais réessayer en espérant que cette fois ça va marcher...:unsure:
@+
Toutou ;) [file name=barredavancement.zip size=11171]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/barredavancement.zip[/file]
 

Pièces jointes

  • barredavancement.zip
    10.9 KB · Affichages: 39

FREESURF

XLDnaute Occasionnel
Bonsoir à tous,

je n'apporte pas de réponse à la question posée, mais souhaite trouver avec votre aide une solution au probleme suivant

une feuille de mon classeur nomée 'BASE DE DONNEES' contient comme son nom l'indique les nom, adresses et code ville, sur trois collones A B et C.

je souhaite depuis un combobox qui répertorie les donnees de la collone A, retrouver les donnees des collones B et C et transferer ces trois donnees dans une feuilles nomée 'COURS' Ceci dans le but de faire un publipostage word.

si quelqun pouvais m'aider se serait génial.

Merci à vous.
 

Toutou

XLDnaute Occasionnel
Bonjour à tous,
Bonjour Freesurf,
je ne comprends pas pourquoi tu veux tout transférer sur une autre feuille pour ton publipostage. N'est-il pas possible de le faire directement à partir de ta feuille 'base de données'?
En ce qui concerne ton problème de combobox, est-il toujours d'actualité? Si oui, je viens de réaliser un programme qui fait exactemnt cela (mais avec du matériel de maintenance); je peux te l'envoyer par mail si tu veux y jeter un oeil...
@ +
Toutou
 

Discussions similaires