je n'arrive pas a appliquer l'exemple ci joint

F

Franck

Guest
Bonjour

L'exemple ci joint que Thierry m'a donné hier correspond exactement a ce que je recherche mais je n'arrive pas à l'appliquer dans mes feuilles de calcul
Pourriez vous m'aider
Ci joint :
-exemple à Thierry

Si quelqu'un veut bien, je peux lui envoyer mes feuilles excel

Merci bien [file name=Double_Clicks_20050727090442.zip size=7732]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Double_Clicks_20050727090442.zip[/file]
 

Pièces jointes

  • Double_Clicks_20050727090442.zip
    7.6 KB · Affichages: 32

_Thierry

XLDnaute Barbatruc
Repose en paix
=> DEMO UserForm ComboBox "Search Engine"

Re Bonjour bbMarcus, Franck

Bon me revoici avec une Démo relativement simple d'emploi, bien que la structure de la base de données se trouve un peu non-compliante :

1-NOM Prenom
2-NOM Prenom
3-NOM Prenom
Le tout dans le même champs...

Il aurait été souhaitable de faire
Champs 1 : Numéro
Champs 2 : Nom
Champs 3 : Prénom

Mais bon, avec VBA on peut s'adapter à toutes les situations ;)

Donc dans la Démo ci-jointe le double Click sur la Feuille 'Semaine 21-2005' déclenchera un UserForm.

Ce UserForm une fois déclenché, présentera une TextBox et une Combobox ainsi u'un bouton de validation.

La TextBox a pour but d'être un Mini Moteur de Recherche à l'intérieur de la Liste contenue dans la ComboBox (Dans le Numéro, le Nom ou le Prénom)

Par Exemple on cherche 'Georges' il suffira de taper 'G' pour avoir '10-LAFORET Georges' etc...

On peut taper aussi le Numéro dans la ComboBox si on le Connait...

Voilà, c'est assez simple à faire et à maintenir, la copie de la Feuille 'Semaine 21-2005' n'engendrera aucune modfification de code... C'est dynamique, donc pas de souci non plus pour l'ajout de données dans la Base Liste personnel du moment que c'est en Colonne 'D'...

Je pense que tu devrais être content.

Bon Appétit
[ol]@+Thierry[/ol] [file name=PlanningExcel_ComboBox.zip size=43260]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/PlanningExcel_ComboBox.zip[/file]
 

Pièces jointes

  • PlanningExcel_ComboBox.zip
    42.2 KB · Affichages: 21
F

Franck

Guest
Re:=> DEMO UserForm ComboBox "Search Engine"

Juste un mot IMPRESSIONNANT

Thierry merci bien c'est génial, c'est exactement ce que je voulais

Pourrais tu me donner ton avis : actuellement, comme tu as pu le voir j'ai 1 semaine = 1 feuille mais dans 3 ans je vais me retrouver avec plus de 150 onglets en bas ( 150 feuilles) et je trouve pas ca très pratique à gérer car en plus je dois faire a chaque fois un copier coller quand je rajoute une semaine

Aurais tu une autre idée de génie pour améliorer ca ?
Merci par avance
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:=> DEMO UserForm ComboBox "Search Engine"

Re Franck, bbMarcus, le Forum

Heureux que celà puisse te rendre service.

Pour cette dernière question, il est clair que 150 onglet, ce n'est pas vraiment le Top...

Mais disons aussi de suite que faire autrement demanderait de gérer une base de données linéaire et de construire à la volée un Formulaire sur la semaine désirée.

Cette hypothèse requiera des connaissances en programmation assez avancées, et exigera aussi une bonne connaissance pour assurer la maintenance d'un tel programme.

Par conséquent, en l'état de ton fichier, on peut s'en contenter et 'vivre avec'.

Il te faudrait par exemple une Interface de Navigation qui permettra de pointer directement sur la semaine désirée :

Sub SearchWeek()
Dim WS As Worksheet
Dim TheWeek As String

TheWeek = InputBox('Saisir une Semaine au Format SS-AAAA', _
          'Selection Semaine', DatePart('ww', Date, 2, 2) & '-' & Format(Date, 'YYYY'))

For Each WS In ThisWorkbook.Worksheets
       
If InStr(1, WS.Name, TheWeek) <> 0 Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WS.Activate
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Exit For
&nbsp; &nbsp; &nbsp; &nbsp;
End If
Next

End Sub

On peut aussi faire un code qui affichera la semaine en cours automatiquement à l'ouverture du calsseur avec ce genre de codes dans le Private Module de 'ThisWorkBook' :
Private Sub Workbook_Open()
Dim WS As Worksheet
Dim Semaine As Byte, An As Integer

Semaine = DatePart('ww', Date, 2, 2)
An = Format(Date, 'YYYY')

For Each WS In ThisWorkbook.Worksheets
&nbsp; &nbsp; &nbsp; &nbsp;
If InStr(1, WS.Name, Semaine & '-' & An) <> 0 Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WS.Activate
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Exit For
&nbsp; &nbsp; &nbsp; &nbsp;
End If
Next

End Sub



Enfin il a plein de petites alternatives pour améliorer la Navigation..

Par contre pour ton problème 'car en plus je dois faire a chaque fois un copier coller quand je rajoute une semaine' tu peux copier directement une Feuille 'Matrice' pour chaque semaine en fesant un simple Click Droit sur l'Onglet de celle-ci et Choisir 'Déplacer ou Copier' puis dans le PopUp cocher 'Créer Une Copie' .... Ce devrait déja te simplifier la Vie...

Pour finir, je te conseillerai pas contre de faire plutot un Classeur par Année... Ce sera tout de même plus 'Light'...

Bonne Prgrammation et Journée
[ol]@+Thierry[/ol]
 
F

Franck

Guest
Re:=> DEMO UserForm ComboBox "Search Engine"

Merci Franck j'ai bien pris en compte tes remarques !

J'ai donc essayé d'appliquer ton planningexcelcombo box sur le réseau de la société en copiant tout se que tu avait fait dans visuel basic mais ca ne fonctionne pas
Aurais tu une explication?

le planning est trop gros pour que je l'envoi !

Merci
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:=> DEMO UserForm ComboBox "Search Engine"

Re Bonsoir,


Merci Franck ?

Tu te dis Merci ? LOL

Difficile de dire sans savoir de quoi il s'agit... Quel Message d'Erreur ?

Récapitulons... Pour que ce mini programme Fonctionne il Faut :

1) Le UserForm1
Qui Comporte :
1 TextBox Nommée TexBox1
1 ComboBox Nommée ComboBox1
2 CommandButton : CommandButton1 & CommandButton2

2) Le Code dans le Private Module de ce UserForm1
Option Explicit

Const T As String = '@+Thierry's Démo'

Private Sub UserForm_Initialize()
Dim i As Integer
Dim TabStaff As Variant

&nbsp; &nbsp;
With Sheets('Liste personnel')
&nbsp; &nbsp; &nbsp; &nbsp; TabStaff = .Range('D3', .Range('D65536').End(xlUp))
&nbsp; &nbsp;
End With
&nbsp; &nbsp;
&nbsp; &nbsp;
With Me.ComboBox1
&nbsp; &nbsp; &nbsp; &nbsp; .List() = TabStaff
&nbsp; &nbsp; &nbsp; &nbsp; .MatchEntry = fmMatchEntryComplete
&nbsp; &nbsp;
End With
&nbsp; &nbsp;
With Me
&nbsp; &nbsp; &nbsp; &nbsp; .Caption = T
&nbsp; &nbsp; &nbsp; &nbsp; .CommandButton1.Default =
True
&nbsp; &nbsp;
End With
End Sub

Private Sub UserForm_Activate()
&nbsp; &nbsp; Me.TextBox1.SetFocus
End Sub

Private Sub TextBox1_Change()
Dim TheString As String
Dim i As Long

TheString = Me.TextBox1

With Me.ComboBox1
&nbsp; &nbsp;
For i = 0 To .ListCount - 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
If InStr(1, .List(i, 0), TheString, vbTextCompare) <> 0 Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .ListIndex = i
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Exit For
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp;
Next
End With
End Sub
Private Sub CommandButton1_Click()
&nbsp; &nbsp; ActiveCell = Me.ComboBox1
&nbsp; &nbsp; Unload Me
End Sub

Private Sub CommandButton2_Click()
&nbsp; &nbsp; Unload Me
End Sub



2) Le Code dans le Private Module de la Feuille 'Semaine 21-2005' et des autres copiées
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
&nbsp; &nbsp; Cancel =
True
&nbsp; &nbsp; UserForm1.Show
End Sub


3) Il faut aussi que le paramétrage d'Excel au niveau Sécurité accepte les Macros :
Menu => Outils => Macros => Sécurité...

Sinon ce devrait être compatible sous toutes les Versions d'Excel et de Windows, en réseau ou pas...

Bonne Soirée
[ol]@+Thierry[/ol]
 
F

Franck

Guest
Re:=> DEMO UserForm ComboBox "Search Engine"

Merci pour ta réponse détaillé.
J'ai tout vérifié mais rien a faire, ca ne fonctionne pas sur les postes réseau
J'ai réussie a allégé mon fichier ci joint ( c'est le fichier qui est sur les postes réseaux, il y a quelques modifications par rapport à celui que je t'avais envoye)

Si tu peux me remettre ton petit programme sur ce fichier, je le réintègrerais dans mon planning réseau

Merci par avance et désolé pour tous ces complications [file name=Planning_20050728091356.zip size=13793]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Planning_20050728091356.zip[/file]
 

Pièces jointes

  • Planning_20050728091356.zip
    13.5 KB · Affichages: 19

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:=> DEMO UserForm ComboBox "Search Engine"

Bonjour Franck, bbMarcus, le Forum

Oui, au regard de ton fichier, c’est tout à fait normal que tu n’arrives pas à appliquer cette macro évènementielle « Double-Click » puisque la feuille concernée est Protégée…

Donc le « Double-Click » ne peut être applicable…

Ce que je te propose c’est « Right Click» (Clique Droit) dans le fichier joint…

J’ai aussi ajouté dans le WorkBook_Open une Protection automatique des Feuilles avec « UserInterfaceOnly:=True » qui permet à mon code d’écrire sur les feuilles protégées…

J'ai aussi enlevé les Liste de Validation étant devenues obsolètes.

Bonne journée.
[ol]@+Thierry[/ol] [file name=Planning_UserInterfaceOnly.zip size=21795]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Planning_UserInterfaceOnly.zip[/file]
 

Pièces jointes

  • Planning_UserInterfaceOnly.zip
    21.3 KB · Affichages: 27
F

Franck

Guest
Re:=> DEMO UserForm ComboBox "Search Engine"

Merci Thierry pour ton aide précieuse, j'ai vraiment apprécié!!!
J'ai donc essayé de faire un copier coller de tes feuilles de programme sur les postes réseau de l'entreprise mais j'ai toujours un probleme, je vais essayé de voir avec quelqu'un pour régler ce problème car je pense que tu as fais tout se que tu pouvais et je t'en remercie encore

Je te souhaite une bonne fin de semaine
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re:=> DEMO UserForm ComboBox "Search Engine"

Bonsoir Franck

Mais le Programme 'Planning_UserInterfaceOnly' fonctionne-t'il en l'état sur une de tes machines en réseau ?

C'est juste pour ma comprhension ...

Un truc aussi qui est possible c'est une désactivation des macros évènementielle...

Essaie de faire tourner ceci :

Sub ActivationEvenementielle()
Application.EnableEvents = True
End Sub

Sinon je ne m'explique pas la cause... Si tu respectes scrupuleusement les 3 points que je t'ai décrits hier..

Bonne Soirée
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 354
Membres
103 824
dernier inscrit
frederic.marien@proximus.