XL 2016 Impossible de définir la propriété Value

  • Initiateur de la discussion Initiateur de la discussion halecs93
  • Date de début Date de début

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 !

halecs93

XLDnaute Impliqué
Bonjour à toutes et à tous,

Tout fonctionnait auparavant...et là, dès l'ouverture, un bug lié au userform2. (impossible de définir la propriété Value. Le type ne correspond pas)

Est-ce dû au fait que j'ai ajouté des colonnes ?

Merci pour votre aide.
 

Pièces jointes

Solution
Bonjour Halecs,
Est-ce dû au fait que j'ai ajouté des colonnes ?
Probablement.
Dans la feuille Récapitulatif en colonne AB vous avez des #REF.
En effet la formule CAR(COLONNE()+64) ne marche que jusqu'à la colonne Z car ensuite le résultat est "[" puis "\" donc ne correspond plus à une nom de colonne qui devrait être AA puis AB.
Vous pouvez remplcer :
VB:
CAR(COLONNE()+64)
par
SI(COLONNE()<=26; CAR(COLONNE()+64);"A"&CAR(COLONNE()-26+64))
qui marchera jusqu'à la colonne AZ.
On peut aller au delà mais ça complexifie la formule inutilement, sauf si vous rajoutez encore 26 colonnes. 🙂
Donc la formule en AB22 deviendrait :
Code:
=INDIRECT($A22 &"!" &SI(COLONNE()<=26; CAR(COLONNE()+64);"A"&CAR(COLONNE()-26+64)) &"40")
A tester...
Bonjour Halecs,
Est-ce dû au fait que j'ai ajouté des colonnes ?
Probablement.
Dans la feuille Récapitulatif en colonne AB vous avez des #REF.
En effet la formule CAR(COLONNE()+64) ne marche que jusqu'à la colonne Z car ensuite le résultat est "[" puis "\" donc ne correspond plus à une nom de colonne qui devrait être AA puis AB.
Vous pouvez remplcer :
VB:
CAR(COLONNE()+64)
par
SI(COLONNE()<=26; CAR(COLONNE()+64);"A"&CAR(COLONNE()-26+64))
qui marchera jusqu'à la colonne AZ.
On peut aller au delà mais ça complexifie la formule inutilement, sauf si vous rajoutez encore 26 colonnes. 🙂
Donc la formule en AB22 deviendrait :
Code:
=INDIRECT($A22 &"!" &SI(COLONNE()<=26; CAR(COLONNE()+64);"A"&CAR(COLONNE()-26+64)) &"40")
A tester pour voir.

Addon : Si vous voulez rajouter beaucoup plus de colonnes, au delà de AZ alors la formule de calcul nom de colonne devient :
VB:
SI(COLONNE()<=26; CAR(COLONNE()+64);(CAR(ENT((-1+COLONNE())/26)+64))&CAR(COLONNE()-26*(ENT((-1+COLONNE())/26))+64))
 

Pièces jointes

Dernière édition:
bonjour @halecs93🙂,

L'erreur se produit dans la procédure UserForm_Initialize() du UserForm2 à la ligne suivante :

TextBox_cheque_dej.Value = ThisWorkbook.Sheets("RECAPITULATIF").Range("cheque_dej").Value


  • ThisWorkbook.Sheets("RECAPITULATIF").Range("cheque_dej").Value référence une cellule avec la valeur d'erreur #REF!
  • cheque_dej désigne la cellule AB35 de la feuille RECAPITULATIF
 
Bonjour Halecs,

Probablement.
Dans la feuille Récapitulatif en colonne AB vous avez des #REF.
En effet la formule CAR(COLONNE()+64) ne marche que jusqu'à la colonne Z car ensuite le résultat est "[" puis "\" donc ne correspond plus à une nom de colonne qui devrait être AA puis AB.
Vous pouvez remplcer :
VB:
CAR(COLONNE()+64)
par
SI(COLONNE()<26; CAR(COLONNE()+64);"A"&CAR(COLONNE()-26+64))
qui marchera jusqu'à la colonne AZ.
On peut aller au delà mais ça complexifie la formule inutilement, sauf si vous rajoutez encore 26 colonnes. 🙂
Donc la formule en AB22 deviendrait :
Code:
=INDIRECT($A22 &"!" &SI(COLONNE()<26; CAR(COLONNE()+64);"A"&CAR(COLONNE()-26+64)) &"40")
A tester pour voir.
Bonjour et merci. Je regarde cela ce soir.
 
bonjour @halecs93🙂,

L'erreur se produit dans la procédure UserForm_Initialize() du UserForm2 à la ligne suivante :

TextBox_cheque_dej.Value = ThisWorkbook.Sheets("RECAPITULATIF").Range("cheque_dej").Value


  • ThisWorkbook.Sheets("RECAPITULATIF").Range("cheque_dej").Value référence une cellule avec la valeur d'erreur #REF!
  • cheque_dej désigne la cellule AB35 de la feuille RECAPITULATIF
Bonjour et merci. Je regarde cela ce soir.
 
Bonjour halecs93 et les autres,

Dans UserForm_Initialize de UserForm2 j'ai juste remplacé :
VB:
    'TextBox_cheque_dej.Value = ThisWorkbook.Sheets("RECAPITULATIF").Range("cheque_dej").Value
par :
VB:
    TextBox_cheque_dej = ThisWorkbook.Sheets("RECAPITULATIF").Range("cheque_dej").Text
A+
 

Pièces jointes

Bonjour Job,
Mais là, vous masquez le problème, ça ne le résout pas.
L'erreur est dans la feuille Récapitulatif colonne AB.
Cette formule est fausse CAR(COLONNE()+64) &"40" car en rajoutant des colonnes on cible la colonne "\40" au lieu de la colonne "AB40".
 
Re,
Tout fonctionnait auparavant...et là, dès l'ouverture, un bug lié au userform2.
Comme le VBA et Excel sont liés, il faut se méfier des fausses erreurs du VBA, l'origine n'est pas toujours là où on pense. Le VBA signale seulement qu'il ne peut exécuter une ligne, pas nécessairement que cette ligne est erronée.
 
- 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

Discussions similaires

Réponses
5
Affichages
540
Deleted member 453598
D
Retour