Modifier avec double clique sur listbox

supermax

XLDnaute Nouveau
Bonsoir à tous
je dépose un autre article sur un fichier que BrunoM45 m'a beaucoup aidé à concevoir:
https://www.excel-downloads.com/threads/filtrer-avec-combobox-dans-un-usf.99154/
mon problème se situe au niveau de la modification : une fois que j'ai effectué la recherche, je double clique sur une ligne, et une fenetre de modif s'affiche, mon soucis est que une fois que j'ai apporté les modifs quand je clique sur Modifier, la modif se situe à la dernière ligne de ma base de donnée et non pas sur la ligne en question (qui est d'ailleurs toujours présente), le 2eme problème est que si je ne modifie pas la date,elle s'inverse ensuite dans la base de donnée (mm/jj/yyyy).
Je voudrais bien garder le principe du double clique pour modifier et un userform de modification
Merci d'avance de toute l'aide que l'on voudra bien m'apporter!
 

Pièces jointes

  • Historique + modif - Copie.zip
    48.2 KB · Affichages: 102

skoobi

XLDnaute Barbatruc
Re : Modifier avec double clique sur listbox

Bonsoir,

pour le code de l'usf "USF_MOD" ajoute ce qui est en bleu:

Code:
 Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[B][COLOR=Blue]   ligne = ListBox1.ListIndex + 2[/COLOR][/B]
  USF_MOD.Hide
  creation.CommandButton1.Caption = "Modifier"
  creation.Show
End Sub
et pour l'inversion de la date dans usf "création" (également en bleu):

Code:
.............
..................
Case Is = "Modifier"
     .Cells(ligne, 2) = ComboBox1.Value
     .Cells(ligne, 3) = [COLOR=Blue][B]CDate([/B][/COLOR]TextBox7.Value[B][COLOR=Blue])[/COLOR][/B]
     .Cells(ligne, 4) = ComboBox3.Value
     .Cells(ligne, 5) = ComboBox2.Value
     .Cells(ligne, 6) = TextBox2.Value
...........
.............
Bon dimanche.
 

supermax

XLDnaute Nouveau
Re : Modifier avec double clique sur listbox

Re Skoobi
D'abord merci pour ta réponse, sa marche comme tu dois t'en douter, seulement parfois quand je modifie une ligne elle se retrouve en haut de ma base de donnée, et la ligne que je souhaite modifier reste intact...
@+ Supermax
Bon fin WE aussi !
 
C

Compte Supprimé 979

Guest
Re : Modifier avec double clique sur listbox

Salut tout le monde,

Attention, attention ...

Skoobi, dans son code :ligne = ListBox1.ListIndex + 2
récupère le numéro de la ligne dans la liste box et non le numéro de la ligne dans la feuille "INTERVENTIONS"

Et là, ça se gatte :D

Il va falloir intégrer dans ton premier formulaire, une colonne cachée contenant le numéro de la ligne

Et tu utilises se numéro de ligne pour modifier la bonne

A+
 
C

Compte Supprimé 979

Guest
Re : Modifier avec double clique sur listbox

Re,

Je comprends ton raisonnement, par contre je ne sais pas comment faire
(pfffff je sais rien faire en fait....)
C'est ce que j'allais te dire :D

Il existe de super bons bouquin sur Excel et le VBA, faut juste se plonger dedans un peu ...
De plus l'enregistreur de macro peut pas mal dépanner

Tu trouveras ci-joint ton fichier modifié

Modifications apportées :
- J'ai supprimé la colonne "A" de ta feuille d'interventions, elle ne servait à rien !
Du coup j'ai du aussi modifier le code en conséquence..
- lors de la création de la ListeBox, j'inscrit dans la colonne 10 masquée,
le numéro de la ligne, que je récupère ensuite pour la modification

A+
 

Pièces jointes

  • Supermax - Historique + modif - Copie.zip
    57.3 KB · Affichages: 134
  • Supermax - Historique + modif - Copie.zip
    57.3 KB · Affichages: 123
  • Supermax - Historique + modif - Copie.zip
    57.3 KB · Affichages: 123
Dernière modification par un modérateur:

supermax

XLDnaute Nouveau
Re : Modifier avec double clique sur listbox

Re
Merci pour la modification, je ne sais pas si sa fait sa chez toi : quand je filtre , et que je double clique dans ma listbox, j'ai ce message d'erreur :
Erreur d'execution 1004
Erreur définie par l'application ou par l'objet
et sa me renvoi à l'userform "création", sur la partie "userform activate" et j'ai sa surligné en jaune : Me.CB_Machine = .Range("A" & LigInt)
 
C

Compte Supprimé 979

Guest
Re : Modifier avec double clique sur listbox

Re,

Petite question, tu te serts du fichier que j'ai posté ?
Ou tu recopies le code dans un autre classeur ?

Car chez moi, pas d'erreur

A+
 
C

Compte Supprimé 979

Guest
Re : Modifier avec double clique sur listbox

re,
Re ! ah sa me rassure, je ne suis pas un expert comme tu le sais, mais je ne pense pas que ce soit grand chose
@+
Malheureusement si :(

Le problème se situe dans la récupération des données lors du filtrage

On se sert du tableau "TabTemp" qui en fait est la plage de cellule de ta feuille Intervention.
Et comme dans ta feuille, n'est inscrit nulle part le numéro de la ligne, ça coince ...

Solution pas trop clean : mettre dans la colonne J de ta feuille Interventions la fonction =Ligne()

Solution beaucoup plus clean (V2), ne plus utiliser du tout le code du module 2 (supprimé)
pour rapatrier les valeurs après filtrage, mais supprimer tout simplement les lignes
de la ListBox ne correspondant pas aux critères choisi !

Avec en plus un peu de ré-écriture du code ça tourne plus rapidement ;)

Et surtout ça marche
yaisse2.gif


A+
 

Pièces jointes

  • Supermax - Historique + modif - Copie.zip
    58.4 KB · Affichages: 82
  • Supermax - Historique + modif - Copie.zip
    58.4 KB · Affichages: 89
  • Supermax - Historique + modif - Copie.zip
    58.4 KB · Affichages: 91
  • Supermax - Historique + modif - CopieV2.zip
    49.2 KB · Affichages: 96
Dernière modification par un modérateur:

supermax

XLDnaute Nouveau
Re : Modifier avec double clique sur listbox

Re ! BrunoM45
super initiative je te remercie c'est clair que sa va + vite! par contre je ne retrouve pas le principe du filtre qu'il y avait dans le précédent fichier.c'est peut être du à ta modification, et j'aimais bien ce principe justement ....
Exemple : je sélectionne une date, puis je sélectionne un technicien, mais la combobox m'affiche seulement les techniciens de ce jour et non pas tous.
c'est possible de le ravoir ? sans toucher au modifs essentiel que tu as fais dans la V2
@+
Cordialement
 
C

Compte Supprimé 979

Guest
Re : Modifier avec double clique sur listbox

Salut Supermax,

Allez encore un petit effort, mais ce sera le dernier :D

Tu trouveras ci-joint ton fichier modifié ;)

A+
 

Pièces jointes

  • Supermax - Historique + modif - CopieV3.zip
    47.4 KB · Affichages: 127

supermax

XLDnaute Nouveau
Re : Modifier avec double clique sur listbox

Salut BrunoM45
Je pense m'être mal exprimé.....car le système de tri reste le même.
Je reformule : je sélectionne une date, puis je sélectionne un technicien, la combobox "techniciens" doit me mettre les techniciens du jour que j'ai sélectionné (dans la V3 j'ai tous les techniciens même s'il ne sont pas intervenu ce jour la).et bien sur garder ce principe pour les autres combobox.
Je m'excuse de mettre mal formulé dans le précédent post....
Je comprendrais si tu ne veux pas faire la modif.
@+
Cordialement
Supermax
 

Statistiques des forums

Discussions
312 378
Messages
2 087 760
Membres
103 661
dernier inscrit
fcleves