Bonjour,
J'ai un souci avec des listbox. Je joints le fichier avec lequel je travaille. Il fonctionne super bien (base : boisgontier).
J'ai juste un souci avec le format à la sortie.
Actuellement, les valeurs sont bien redonnées conformément à la liste mais certaine dates issues de formule ressortent en format texte.
Cela est dommageable au fonctionnement de mon fichier car j'ai des mises en formes conditionnelles qui sont tester avec les dates sorties de la liste. Du coup, les MFC ne fonctionnent plus.
J'aimerai forcer la format DATE pour la première colonne.
Le code actuel est
Private Sub B_transfert_Click()
Sheets("feuil2").[A2].Resize(Me.Dest.ListCount, 2) = Me.Dest.List
End Sub
Bonsoir.
Je pense qu'il n'y a pas d'autre moyen que comme ça :
VB:
Private Sub B_transfert_Click()
Dim T(), L As Long
T = Me.Dest.List
For L = 0 To UBound(T)
T(L, 0) = CDate(Mid$(T(L, 0), InStr(T(L, 0), " ") + 1))
Next L
Sheets("feuil2").[A2].Resize(Me.Dest.ListCount, 2) = T
End Sub
Prévoyez les formats de cellules appropriés en Feuil2!A:B
Merci de votre réponse,
J'ai testé et rien de plus. J'ai forcé le format date courte mais rien de plus. C'est surprenant car c'est toujours les mêmes date, paques, lundi de paques par exemple. Pourtant je suis passé par les ref excel 42841 et 42842 et pas par les formules???
J'avoue que je suis dépassé.
J'ai fait un essai en remplaçant la B_transfert_Click qu'il y avait dans F_Transfert2 par celle que j'ai indiquée: j'ai bien eu en Feuil2 des dates en colonne A et des textes dans la B.
C'est vrai que cela fonctionne bien ici. Le souci que j'ai c'est que ma version part d'une liste avec des dates "dynamiques" avec des formule du type =date(1;1;an), pour alimenter la première liste.
Je fais un choix et cela me ressort du texte ou des dates selon ??? je sais pas pourquoi.
Est-il possible de faire le test en partant de dates dans la colonne A de feuil1 et de ressortir avec des dates après sélection en Feuil2 ?
De mon coté, cela n'est pas concluant.
Bonjour.
Je ne vous suis pas. C'est un autre problème alors ?
En tout cas vous pouvez faire des Select Case VarType(V) avec V: la Value d'un range représentant une seule cellule.
Peut être vbDate, vbString, vbEmpty, vbDouble, vbCurrency, vbBoolean, vbError.
Re
en relisant , je crois comprendre que c'est lors du chargement des données dans la ListBox Source que tu dois récupérer la date au format Long
Trois colonnes et une boucle pour récupérer les dates "Date Texte , Intitulé de la fête , Date Long ".
tu aurais du mettre le fichier avec les Formules en colonne A de la feuille Source.
dans l'attente
Amicalement
Jean Marie
Un autre exemple (sans multisélection et tri dans le formulaire) avec
- un clic : un déplacement (plus direct et sans accumulation)
- un transfert par ligne pour pouvoir trier par date (si pas besoin du tri, le transfert global des textes sera préférable)
Nota : l’ajout n’est pas prévu pour la liste de départ mais cela peut se faire très simplement.
Bonjour à vous,
Merci de votre sollicitude.
Je vous retourne le document final allégé, comme proposé par ChTi160.
J'ai mis celle de Dranreb, j'ai pas remis les différentes autres propositions.
Je vous laisse juger sur pièce.
Donc, je pars de la liste JFer qui a des formules en colonne A et j'aimerai arriver en JFer2 avec des dates après sélection via l'userform.
Vous constaterez que j'applique le resize aux deux listes afin de pouvoir intégrer l'ajout de jour férié dans les deux listes. Ce qui me donne un départ avec des formules dans la liste JFer, puis dates avec des formats différents dans les deux listes. Actuellement, j'ai mis une colonne avec les formules pour copier/coller après chaque test...
Question complémentaire, lorsque la liste est vide, il y a un bug sur la ligne de code "resize". Je pense que c'est normal puisqu'il y n'y rien a "resizer". Je sais pas comment éviter ce bug.
Leakim Ps: Actuellement en Australie, mon temps de réponse dépend de la connexion que je trouve. Merci.
J'ai perdu la connexion depuis trois jours.
Je fais fermer ce fil et remettre à une autre fois si je ne trouve pas de solution.
Merci à vous pour vos essais respectifs.
Bonjour leakim
Bonjour le Fil ,Le Forum
je comprends rien Lol
mais une solution "peut être" pour ton problème de Resize quand ListBox Vide .
ajouter la Ligne marquée "ICI"
On teste si LisBox contient des Données en comptant son nombre de lignes .
VB:
Private Sub CommandButton_Valid_nom_Click()
Dim T As Byte
Dim i As Long
Dim c As Range
Application.Calculation = xlCalculationManual
If Me.ListBox_ferselect.ListCount = 0 Then Exit Sub 'ICI on sort si pas de Sélection
'_________vider la liste de fériés__________________