Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste de validation décalée ?

8 réponses
Avatar
josephb
Bonjour à tous,

Voilà mon problème actuel :

Dans une feuille j'ai une petite "appli" de comptabilité.
En colonne J de celle-ci, je veux rentrer le code du plan comptable
correspondant à l'opération enregistrée.
Facile, faire une liste de validation, OK,
mais là où ça se complique c'est que je désire que, bien que le choix se
fasse sur "l'intitulé" de l'opération comptable, exemple, «Entretien
petit matériel», ce soit son "code" (615 530) qui se colle dans la
cellule !
Les intitulés sont en colonne V et les codes, en regard, en colonne W

Accesssoirement, la colonne J, destinée à recevoir au maximum 9
caratères, est étroite ; lorsqu'on active la liste d'intitulés (certains
peuvent aller jusqu'à 40 caractères), il n'en apparaît, grosso modo, que
10 ou 12. Ceci ne facilite pas vraiment le choix lorsque plusieurs
intitulés ne se différencient que par le dernier mot... qui reste
invisible :-(
Y-a-t-il un moyen d'obliger la liste déroulante à afficher le plein
contenu de la colonne V ?

Merci d'avance de vos suggestions
--
J. B.

8 réponses

Avatar
josephb
Re-bonsoir à tous,

juste oublié de préciser que je fais ça, pour moi, sur Excel 98 pour
Mac, "at home", même si au boulot j'ai Excel 2007 sous XP pro.

Merci d'avance de vos suggestions


--
J. B.
Avatar
JB
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
If Target <> "" Then
p = Application.Match(Target, [liste3], 0)
Application.EnableEvents = False
Target = Range("liste4")(p)
Application.EnableEvents = True
End If
End If
End Sub

JB


On 5 juin, 21:22, (Joseph B.) wrote:
Re-bonsoir à tous,

juste oublié de préciser que je fais ça, pour moi, sur Excel 98 pour
Mac, "at home", même si au boulot j'ai Excel 2007 sous XP pro.

 Merci d'avance de vos suggestions  

--
J. B.


Avatar
JB
http://cjoint.com/?gghYJqVLH0

JB

On 6 juin, 07:44, JB wrote:
Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 And Target.Count = 1 Then
    If Target <> "" Then
     p = Application.Match(Target, [liste3], 0)
     Application.EnableEvents = False
     Target = Range("liste4")(p)
     Application.EnableEvents = True
    End If
  End If
End Sub

JB

On 5 juin, 21:22, (Joseph B.) wrote:



Re-bonsoir à tous,

juste oublié de préciser que je fais ça, pour moi, sur Excel 98 po ur
Mac, "at home", même si au boulot j'ai Excel 2007 sous XP pro.

 Merci d'avance de vos suggestions  

--
J. B.- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Avatar
josephb
Bonjour,

JB wrote:

http://cjoint.com/?gghYJqVLH0


Merci pour la prompte réponse et l'exemple joint.
Ayant déjà beaucoup emprunté (avec succès) à vos nombreux tutos et
exemples, je ne doute pas un instant que la macro que vous avez faite
marche parfaitement chez vous.
Hélas, sur mon vieil Excel 98, le code ne fonctionne pas, la
substitution ne s'opère pas :-((
Je sais "programmer" dans d'autres environnements, mais la syntaxe VBA
(et je suis sûr que c'est là que ça coince chez moi) m'est totalement
étrangère. J'imagine qu'il y aurait eu des changements depuis la version
98 ?
D'autre part, le débogueur (dont je découvre à peine comment il marche)
ne m'indique, à priori, aucune erreur.

Si vous avez une piste ? De mon côté je vais chercher...

Merci encore

JB



--
J. B.

Avatar
JB
2 colonnes et ne garde que la première:

http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#Liste2Col onnes
http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DV2colonnes.xls

JB

On 6 juin, 09:28, (Joseph B.) wrote:
Bonjour,

JB wrote:
http://cjoint.com/?gghYJqVLH0


Merci pour la prompte réponse et l'exemple joint.
Ayant déjà beaucoup emprunté (avec succès) à vos nombreux tutos et
exemples, je ne doute pas un instant que la macro que vous avez faite
marche parfaitement chez vous.
Hélas, sur mon vieil Excel 98, le code ne fonctionne pas, la
substitution ne s'opère pas :-((
Je sais "programmer" dans d'autres environnements, mais la syntaxe VBA
(et je suis sûr que c'est là que ça coince chez moi)  m'est totale ment
étrangère. J'imagine qu'il y aurait eu des changements depuis la versi on
98 ?
D'autre part, le débogueur (dont je découvre à peine comment il marc he)
ne m'indique, à priori, aucune erreur.

Si vous avez une piste ? De mon côté je vais chercher...

Merci encore  

JB


--
J. B.



Avatar
josephb
JB wrote:

2 colonnes et ne garde que la première:

http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#
Liste2Colonnes
http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DV2colonnes.xls


Ben oui, j'ai donc opté pour cette solution très très rusée, et qui a le
mérite de fonctionner sur mon dinosaure :-)
Reste que la liste n'a pas sa largeur optimale d'affichage, mais c'est
relativement accessoire.

Dommage pour votre première proposition, j'aimais bien son élégance.
Essayée sur le PC du bureau, elle marche NiCr, mais était-ce besoin de
le préciser ;-)

Merci bien et sans doute à une prochaine fois !
--
J. B.

Avatar
JB
Largeur de liste:

http://cjoint.com/?ggq7jdTGHG

JB

On 6 juin, 14:55, (Joseph B.) wrote:
JB wrote:
2 colonnes et ne garde que la première:

http://boisgontierjacques.free.fr/pages_site/donneesvalidation.htm#
Liste2Colonnes
http://boisgontierjacques.free.fr/fichiers/DonneesValidation/DV2colon...


Ben oui, j'ai donc opté pour cette solution très très rusée, et qu i a le
mérite de fonctionner sur mon dinosaure :-)
Reste que la liste n'a pas sa largeur optimale d'affichage, mais c'est
relativement accessoire.

Dommage pour votre première proposition, j'aimais bien  son élégan ce.
Essayée sur le PC du bureau, elle marche NiCr, mais était-ce besoin de
le préciser ;-)

Merci bien et sans doute à une prochaine fois !
--
J. B.



Avatar
josephb
JB wrote:

Largeur de liste:

http://cjoint.com/?ggq7jdTGHG


Super ! Ça a fière allure maintenant, et surtout on voit ce qu'on
sélectionne.
J'ai dû batailler un peu : ça ne marchait pas :-(
Jusqu'à ce je comprenne qu'Excel avait mémorisé "en dur" les anciennes
largeurs de colonnes associées aux noms des listes.
Donc effacé tous les noms de liste, tous les menus de validation, puis
tout recréé et, miracle, même en rétrecissant la colonne, la liste
s'affichait en grande largeur. Restait plus qu'à refaire la manip futée
"DV2colonnes" :-))

Merci encore pour votre aide et cette nouvelle astuce.

PS : Parfait que la liste soit dynamique, je viens d'y insérer une
sous-rubrique, automatiquement prise en compte :-)

--
J. B.