Controle

pierrejean

XLDnaute Barbatruc
bonjour a tous
désolé pour le titre, je n'ai pas trouvé mieux
Dans le fichier joint ,page DETAIL_COMMANDES un bouton appelle un Userform
En Mode Ajout on ajoute une ligne et un controle permet d'eviter d'ajouter a nouveau une ligne strictement identique
Le probleme:
Chez moi Excel Version 9.0 cela fonctionne
Chez un autre Xldien Excel Version 10 cela ne fonctionne pas
Quelqu'un pourrait-il tester et eventuellement Debugger
Merci d'avance
 

Pièces jointes

  • ESSAI_controle1.zip
    56.8 KB · Affichages: 96

Gil79

XLDnaute Nouveau
Re : Controle

Re,
Je vais te dire la vérité Ours Masqué, c'est un peu du hasard, et je ne saurai t'expliquer pourquoi. J'avais eu un souci de ce style il y a quelques temps et en regardant sur des forums (peut etre celui-ci ?) , j'avais trouvé une solution, similaire. Le hasard peut bien faire les choses
A+
 

Atiom

XLDnaute Occasionnel
Re : Controle

Rebonsoir

Voila si j’enlève dans le code :
Code:
TextBox2 = Date
ActiveSheet.Cells(65536, f.Column).End(xlUp).Offset(1, 0) = CDate(TextBox2)
J’obtiens cette fois ci le message d’erreur, donc ça fonctionne.

Maintenant deux questions pourquoi ça bug ? Et par quoi peut-on remplacer TextBox2 = Date
Tout en sachant que 'Calendar1 = Date ça ne fonctionne pas non plus ?

Mystère … Mystère et pourquoi ça fonctionne avec la version 9 et pas avec la 10 ?
 

Excel_lent

XLDnaute Impliqué
Re : Controle

Bonsoir à tous sans oublier les autres.


Question : la version anglaise accepte-t-elle la fonction Date ?
La version française, quant à elle accepte la fonction Now mais celle-ci renvoie en même temps l'heure.
Le test incluant la comparaison de dates, il peut alors ne pas être concluant et nous renvoyer à des problèmes de formats !

Calendar1 = Date n'a d'intérêt, je pense, que si le contrôle Calendrier est installé (…MSCAL.OCX) et placé dans l'USF ; sinon ce n'est qu'une nouvelle variable (à déclarer ou pas).

JC, interdire de fumer, n'est pas interdire d'avoir des idées fumeuses. J'aurais bien aimé rencontrer ces personnes !
 

Spitnolan08

XLDnaute Barbatruc
Re : Controle

Bonsoir à tous,

Puisqu'on parle de calendar ici et donc de MSCAL.OCX, quelqu'un saurait il me dire comment je peux retrouver ce contrôle? Il était installé sur ma machine et utilisé dans plusieurs applications mais il a disparu depuis quelques temps et plus moyen de le réinstaller.
J'ai bien téléchargé l'Ocx ci dessus, installé dans le bon répertoire (à priori system32) et exécuté REGSVR32 MSCAL.OCX qui me délivre un message satisfaisant mais nada. J'ai toujours un message d'erreur à l'appel du calendrier : "Impossible de charger l'objet car il n'est plus dispo sur cette machine"
Je m'en passe dans mes nouvelles appli en utilisant monthview ou dtpicker mais ça me chagrine un peu et dérange mes anciens programmes.:(

Et accessoirement, bien sûr, je ne peux pas traiter les fils qui font appel au calendrier...

Cordialement
 

Dull

XLDnaute Barbatruc
Re : Controle

Salut a tous,

Spitnolan je te conseil d'aller faire un petit tour sur le site de veriti où il a fait un petit programme qui permet d'enregistrer "sans douleur" :D les fichiers .ocx et les .dll Peut-être tu aura plus de chance

Enregistre DLL


Bonne Journée
 

pierrejean

XLDnaute Barbatruc
Re : Controle

Bonjour a tous

Un grand Merci a

jeanpierre
JCGL
THE CAT
Jiheme
Excel_lent
BrunoM45
Gil79
Ours Masqué
koukou40
Spitnoland
Dull

A la lumiere des tests d'Atiom , je crois avoir saisi d'ou vient le problème
Dés l'initialisation Textbox2 contient Date mais comme il s'agit d'une textbox c'est en réalité un String
Je l'integre a la feuille par :
ActiveSheet.Cells(65536, f.Column).End(xlUp).Offset(1, 0) = CDate(TextBox2)
pour obtenir une date
Par contre lors du controle
saisie = saisie & commandes.TextBox2
Textbox2 est ajouté en tant que String
Alors que ici
laligne = .Range("B" & n) & .Range("C" & n) & .Range("D" & n) & .Range("A" & n) & .Range("E" & n)
.Range("E" & n) est une date
Je presume donc que la version d'Excel d'Atiom fait la distinction alors que les autres sont plus tolerants
Je me propose donc de faire la modif suivante :
laligne = .Range("B" & n) & .Range("C" & n) & .Range("D" & n) & .Range("A" & n) & CStr(.Range("E" & n))
Bien entendu ,je ne peux controler puisque chez moi ça marche aussi bien avant qu'apres

En esperant qu'Atiom puisse confirmer
Et merci encore

 

JCGL

XLDnaute Barbatruc
Re : Controle

Bonjour à tous,
Salut Spit :),
Salut Dull :),

Pour connaitre votre version Excel en Formule dans un cellule :
Code:
=INFORMATIONS("version")
J'ai eu le même souci que Spit concernant MSCAL.OCX : il avait disparu du Stytem32 et j'avais beau le déclarer de nouveau... Voir son chemin actuel...



A+ à tous
 

Gil79

XLDnaute Nouveau
Re : Controle

Bonjour le forum
je viens de refaire un essai en supprimant juste dans Module1 , Option Explicit et je n'ai plus de probleme. Mais à savoir pourquoi ????
A la maison j'ai 2003 et là pas de souci

Bon week-end tout le monde
 

JCGL

XLDnaute Barbatruc
Re : Controle

Re,
Salut Lionel :),

Exact mais si =INFO("VERSION") renvoie #NOM mettre =INFORMATIONS("version")


Extrait de l'Aide :

INFORMATIONS

Sécurité Utilisez cette fonctionnalité avec prudence. Vos informations sensibles ou confidentielles pourraient être transmises à d'autres utilisateurs.
Renvoie des informations sur l'environnement d'exploitation en cours.
Syntaxe
INFO(no_type)
type_texte est le texte spécifiant le type d'informations qui doit être renvoyé. Type_texte Renvoie

"cellule" Référence absolue de style A1, sous forme de texte, avec préfixe « $A: » pour compatibilité avec Lotus 1-2-3 version 3.x. Renvoie la référence de la dernière cellule visible tout en haut tout à gauche de la fenêtre, en fonction de la position actuelle du curseur de défilement.

"memdispo" Octets de mémoire disponibles.

"memtot" Octets de mémoire disponibles, mémoire utilisée comprise.

"memutil" Quantité de mémoire utilisée par les données.

"nbfich" Nombre de feuilles de calcul actives dans les classeurs ouverts.

"recalcul" Mode de recalcul actif ; renvoie les valeurs « Automatique » ou « Manuel ».

"répertoire" Chemin d'accès du répertoire ou dossier en cours.

"systexpl" Nom de l'environnement d'exploitation : Macintosh = « mac », Windows = « pcdos »

"version" Version de Microsoft Excel, sous forme de texte.

"versionse" Version actuelle du système d'exploitation, sous forme de texte.


A+
 

Atiom

XLDnaute Occasionnel
Re : Controle

Bonjour et merci à tous

Mais non Pierrejean, même avec les changements de : laligne =…
J’arrive toujours à envoyer des doublons.
Ton raisonnement est juste mais il doit y avoir encore autre chose.

A moins que ça soi mon PC, mais comme j’ai testé sur deux, tout laisse à croire que c’est un problème de version.

Pour me rassurer, est-ce que quelqu’un d’autre qui possède la Version 10.0 peut testé l’application avec les changements proposés par Pierrejean ?
 

Staple1600

XLDnaute Barbatruc
Re : Controle

Bonjour à tous


Une suggestion:

Est-ce que cela pourrait venir du fait que certains aient installés les mises à jour d'Office et d'autres pas?



PS: je suis en version 9.0.6926 SP 3
Ce qui correspond à Excel 2000 SR-1 avec le Service Pack3 d'installé.

PS2: pour voir le numéro de version ,je vais dans l'aide, et je clique sur
A propos de Microsoft Excel
car en VBA Application.Version ne renvoie que 9.0
 
Dernière édition:

Excel_lent

XLDnaute Impliqué
Re : Controle

Salut à tous,


En renommant mon MSCAL.OCX en MSCAL.OCX1, je reproduis les erreurs déjà décrites à savoir des déclarations de variables manquantes (normal, avec mes options) et surtout =Date (normal, Manquant Microsoft Calendar…)

Pour pouvoir continuer ainsi, ce que tu proposes dans les 2 cas, PierreJean, me donne encore une erreur sur cette ligne !

Par contre,
saisie = saisie & commandes.TextBox2 remplacé par
saisie = saisie & CDate(TextBox2) ne pose plus de problème.

Ce n’est pas la cellule contenant la date qui coince mais bien le String !
(Ah, ces formats de dates et ce String !)
A tester donc.
 

Discussions similaires

Réponses
3
Affichages
777
Réponses
1
Affichages
630
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 435
Messages
2 088 392
Membres
103 838
dernier inscrit
noureddine