XL 2013 Combobox au lieu de plages de validation

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

michir

XLDnaute Occasionnel
Bonjour
Je reviens vers le forum car je n'arrive pas à faire fonctionner la proposition de JB que je remercie, mais la procédure (que j'ai recopiée) bug de ma faute car je n'ai pas su l'adapter à mon fichier joint
Je souhaite afficher dans les cellules des colonnes A, B D et E ( rien dans la colonne C) des combox qui affichent des données de validation figurant sous le tableau (ligne 860)
La procédure bugue dès le départ
Si JB ou un VBiste plus doué que moi pouvait me donner un coup de main
Merci à tous
Michel
 

Pièces jointes

Encore un petit souci Patrice,
Lorsque je veux protéger ma feuille, et saisir sur une nouvelle ligne un enregistrement d'opération , j'ai un bug dans la macro suivante

Private Sub cbxChoix_Change()
ActiveCell.Value = Me.CbxChoix
End Sub

Si tu passes par là...
Merci
 
Bonjour,

Lorsque la feuille est protégé, il est normal d'avoir une erreur lorsque tu tentes d'écrire dans une cellule verrouillée.
Ce code n'a pas été prévu pour travailler avec une feuille protégée qui laisse l'accès accès aux cellules verrouillées !!!

Deux solutions :
  1. Conserver le code mais :
    Avant de protéger la feuille :
    - déverrouilles la plage de cellules dans laquelle tu est susceptible d'ajouter des lignes.
    Et lorsque tu protège la feuille, il faut :
    - décocher "Sélectionner les cellules verrouillées"
    - cocher uniquement "Sélectionner les cellules déverrouillées"

  2. Modifier le code, mais :
    - Il est préférable de ne pas utiliser de mot de passe (ça sert pas à grand chose et ça s'oublie)
    - Si tu veux tout de même un mot de passe, il fut l'écrire en clair dans la macro (donc il sert à rien)
    - les modifications du code :
VB:
'Remplacer :
Private Sub cbxChoix_Change()
  ActiveCell.Value = Me.CbxChoix
End Sub

'Par (sans mot de passe) :
Private Sub cbxChoix_Change()
  Me.Unprotect
  ActiveCell.Value = Me.CbxChoix
  Me.Protect
End Sub

'Ou par (avec mot de passe) :
Private Sub cbxChoix_Change()
  Me.Unprotect "MotDePasse"
  ActiveCell.Value = Me.CbxChoix
  Me.Protect "MotDePasse"
End Sub
 
Ok pour ta réponse Patrice, merci
Mais j'ai encore un pb
lorsque j'utilise les combo de la colonne "Années", elles apparaissent comme du texte et non un nombre
et lorsque je filtre sur une année donnée, j'ai des erreurs de total liées il me semble au format de l'année qui n'est pas reconnu
bref , je suis un peu perdu
 
Re,

Effectivement, les Années sont transférées au format texte.

Pour corriger ça :
VB:
'Remplacer
  ActiveCell.Value = Me.CbxChoix
'Par :
  ActiveCell.Formula = Me.CbxChoix.Text
En regardant de plus près ta colonne Années :
- certaines cellules contiennent des formules,
- d'autres une valeur numérique
- et d'autres des valeurs texte (à cause du combobox) !

Pour corriger ça, après avoir corrigé le code comme ci-dessus,
il faut :
1- sélectionner B4 / onglet Développeur / mode Création (arrêt macros pour immobiliser le combobox en B4)
2- sélectionner A4 / Crtl+Maj+Flèche vers le bas (pour sélectionner toutes les valeurs de la colonne Année)
3- clic droit / copier
4- clic droit / collage spécial - valeurs (pour remplacer les formules par leur résultat)
5- sélectionner une cellule vide (par exemple F4)
6- clic droit / copier
7- sélectionner A4 / Crtl+Maj+Flèche vers le bas (pour sélectionner toutes les valeurs de la colonne Année)
8- clic droit / collage spécial - valeurs et addition (pour remplacer les valeurs textes par des valeurs numériques)
9- sélectionner B4 / onglet Développeur / ôter le mode Création (pour rétablir le fonctionnement des macros)
10- enregistrer le fichier
 
Dernière édition:
Patrice bonjour, j'ai corrigé comme indiqué
j'ai cependant un problème de cohérence qui ne vient peut être de la combo
ma formule de vérification sommeprod ne fonstionne plus or elle m'est indispensable
la zone de texte dans la feuille explique le problème
je joint un dernier test car je ne veux pas abuser
Merci
 

Pièces jointes

Bonsoir,

Les problèmes corrigés :

1- BUG AVEC LE NOM "LISTE_POSTES" COLONNE E
La portée du nom était limitée à la feuille BdD au lieu l'ensemble du Classeur

2- INCOHERENCE TOTALE AVEC LA FORMULE DE VERIFICATION "SOMMEPROD",
Tu n'a pas (ou mal) appliqué les consignes 5 à 8 (peut-être avais-tu un filtre actif)
Il restait des valeur d'année au format texte
Note : si tu décoche l'alignement centré de la colonne, tu verras les nombres alignés à droite et les texte alignés à gauche.

3- LIAISON AVEC UN CLASSEUR EXTERNE :
J'ai corrigé les 4 formules de la ligne 1 de la feuille BdD qui faisaient référence à un autre classeur.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour