XL 2013 Combobox au lieu de plages de validation

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

  • test combo.xls
    378.5 KB · Affichages: 37

michir

XLDnaute Occasionnel
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
 

Patrice33740

XLDnaute Impliqué
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
 

michir

XLDnaute Occasionnel
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
 

Patrice33740

XLDnaute Impliqué
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:

michir

XLDnaute Occasionnel
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

  • Dernier Test.xlsm
    437 KB · Affichages: 33

Patrice33740

XLDnaute Impliqué
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

  • _Dernier Test.xlsm
    421.4 KB · Affichages: 29

Discussions similaires

Statistiques des forums

Discussions
312 175
Messages
2 085 952
Membres
103 058
dernier inscrit
florentLP