Aide pour finaliser et modifier ma petite macro

Michou9

XLDnaute Occasionnel
Bonjour le Forum

J’ai réalisé une macro, mais elle n’est pas parfaite.

J’aurais souhaité pourvoir écrire cette macro sur plusieurs lignes afin de l’avoir entièrement visible à l’écran, mais je ne sais pas comment l’écrire autrement.

J’aurais également souhaité dans la mesure du possible, Ne pas avoir à récrire cette macro pour chaque ligne de mon tableau, par exemple en rentrant simplement le nom de la personne concernée ou en double-cliquant sur une ligne.

Merci d’avance pour une aide
 

Pièces jointes

  • Classeur2.xls
    41 KB · Affichages: 93
  • Classeur2.xls
    41 KB · Affichages: 97
  • Classeur2.xls
    41 KB · Affichages: 99
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Aide pour finaliser et modifier ma petite macro

Bonjour Michou

Tu peux tester ce code:

Code:
Sub test()
For Each cel In Range("A1:G1")
lig = 6
texte = texte & Chr(10) & cel & ": " & Cells(lig, cel.Column).Value
Next
MsgBox texte
End Sub

Lig correspond à la ligne et est à adpater. Exemple: dans un USf avec une listbox.
 

Michou9

XLDnaute Occasionnel
Re : Aide pour finaliser et modifier ma petite macro

Bonjour Michel et merci

C'est bien plus simple
Cela fonctionne parfaitement

Par-contre, j'ai pas bien compris la réponse au sujet de :
J’aurais également souhaité dans la mesure du possible, Ne pas avoir à récrire cette macro pour chaque ligne de mon tableau, par exemple en rentrant simplement le nom de la personne concernée ou en double-cliquant sur une ligne.

Peut-être que je me suis mal exprimé, Ce que je voulais dire, c'est je souhaiterais rajouter à ma macro une condition qui me permettrait simplement de rentrer le nom d'une personne ou à défaut de double-cliquer sur son nom directement dans la feuille pour visualiser sa fiche.
 

MJ13

XLDnaute Barbatruc
Re : Aide pour finaliser et modifier ma petite macro

Re

Teste ce fichier.

La feuille avec les adresses est masquée.
 

Pièces jointes

  • Classeur2.zip
    15.8 KB · Affichages: 47
  • Classeur2.zip
    15.8 KB · Affichages: 50
  • Classeur2.zip
    15.8 KB · Affichages: 52

Michou9

XLDnaute Occasionnel
Re : Aide pour finaliser et modifier ma petite macro

Rebonjour

Merci, c'est parfait

Cependant, je n'arrive pas à trouver, comment je dois faire si je rajoute d'autres noms, pour pouvoir les voir aussi ?

Je suppose que cela ce traite dans ListeBox et/ou dans la ListeIndex
Mais comment ?
 

MJ13

XLDnaute Barbatruc
Re : Aide pour finaliser et modifier ma petite macro

Re

Pour avoir la liste en tenant compte du nombre de noms, on peut définir un nom par rapport à la dernière ligne des noms en modifiant ce code:

Code:
Private Sub UserForm_Initialize()
derl = Sheets("Liste").Range("A65536").End(xlUp).Rows.Row
ActiveWorkbook.Names.Add Name:="nom", RefersToR1C1:="=Liste!R2C1:R" & derl & "C1"
ListBox1.RowSource = "Liste!nom"
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Aide pour finaliser et modifier ma petite macro

Bonjour Michou09, MJ13, le fil


Tu peux aussi faire comme cela
(C'est ce que je préfère personnellement)

Code:
Private Sub UserForm_Initialize()
Dim t
t = Sheets(1).Range([A1], [A65536].End(xlUp))
ListBox1.List = t
End Sub
 

Michou9

XLDnaute Occasionnel
Re : Aide pour finaliser et modifier ma petite macro

Rebonjour Michel

Merci, c'est Ok !

Je peux à présent mettre apparemment autant de noms que je veux.

Je ne pense que cela soit possible (Mais sur le net certains dise que Oui !)
Est-il possible de modifier la couleur de fond ou des caractères de la MsgBox ?

Et est-il possible d'éviter le Bip que l'on entend dès que la MsgBox apparait ?
 

MJ13

XLDnaute Barbatruc
Re : Aide pour finaliser et modifier ma petite macro

Re, Bonjour JM

JM: Bravo, belle simplification ;).

Code:
Private Sub UserForm_Initialize()
Dim t
t = Sheets(1).Range([A1], [A65536].End(xlUp))
ListBox1.List = t
End Sub

Eh JM, bientôt un nouveau pallier :).

Michou:

Je peux à présent mettre apparemment autant de noms que je veux.

Je ne pense que cela soit possible (Mais sur le net certains dise que Oui !)
Est-il possible de modifier la couleur de fond ou des caractères de la MsgBox ?

Et est-il possible d'éviter le Bip que l'on entend dès que la MsgBox apparait ?

Normalment tu peux tester avec 65534 noms, cela devrait fonctionner.

Pour la couleur, je ne suis pas sur qu'on puisse modifier la couleur de la police (voir dans les propriété de la police de la listbox).

Pour le son, tu peux couper le son (et je remet le son, j'adore... :rolleyes:).
 

Michou9

XLDnaute Occasionnel
Re : Aide pour finaliser et modifier ma petite macro

Bonsoir Michel, Bonsoir JM

Je viens d'essayer avec cette rectification que je n'avais pas vu

Private Sub UserForm_Initialize()
Dim t
t = Sheets(1).Range([A1], [A65536].End(xlUp))
ListBox1.List = t
End Sub

Elle parait effectivement bien plus simple
Mais elle bloque :

Elle me renvoie une Erreur 1004 !

Pour le son, j'ai pas bien compris la réponse,
Si c'est oui, on peut le couper !, c'est où ?
Merci
 

Staple1600

XLDnaute Barbatruc
Re : Aide pour finaliser et modifier ma petite macro

Bonsoir



Sheets("Liste") ne ressemble pas à Sheets(1) non ? ;)

Tu vois désormais ou se situe le souci, Michou09 ?

EDITION
: Voici ce qu'il fallait changer:
Code:
Private Sub UserForm_Initialize()
Dim t
t = Sheets("Liste").Range([A1], [A65536].End(xlUp))
ListBox1.List = t
End Sub
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Aide pour finaliser et modifier ma petite macro

Bonjour Michou, JM

Tu peux aussi tester ce code:

Code:
Private Sub UserForm_Initialize()
ListBox1.RowSource = "Liste!a2:a" & Sheets("Liste").[A65536].End(xlUp).Row
ListBox1.BackColor = RGB(200, 150, 200)
ListBox1.Font.Bold = true
End Sub

Pour le son, tu peux couper le son (et je remet le son, j'adore... :rolleyes:).

Je faisais allusion à une chanson de Philippe Katerine (J'adooore) :p.

Sinon, c'est vrai que c'est agaçant ce son quand on clique dans la listbox. Tu peux toujours mettre le volume du son en muet.
 
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Aide pour finaliser et modifier ma petite macro

Bonjour

La proposition de Staple1600 pour alimenter la ListBox ne passe pas chez moi. Elle fonctionne bien !
Un autre exemple : la Msgbox ne laissant guère de possibilité pour les formats; je passe par une TextBox (d'ailleurs facultative).
Les liens n'étant pas récupérables, l'Userform, en ShowModal = False, permet de revenir sur l'onglet pour faire ce qu'on désire.
 

Pièces jointes

  • USF BdD.xls
    35 KB · Affichages: 84
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 405
Messages
2 088 128
Membres
103 733
dernier inscrit
MARIE 59