Alimentation / Affichage TextBox
Résolu/Fermé
Villette54
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
-
7 août 2014 à 10:27
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 7 août 2014 à 14:18
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 7 août 2014 à 14:18
A voir également:
- Alimentation / Affichage TextBox
- Affichage double ecran - Guide
- Windows 11 affichage classique - Guide
- Calculateur alimentation pc - Guide
- Aucune option d'alimentation n'est actuellement disponible - Guide
- Court circuit dans l'alimentation de lnb - Forum TNT / Satellite / Réception
3 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
7 août 2014 à 10:34
7 août 2014 à 10:34
Re-
Pour ta deuxième question :
au remplissage de l'userform :
au remplissage de ta feuille depuis l'userform :
On reste ainsi toujours avec des dates
Pour ta première question, elle est vraiment mal posée, je ne comprends pas. Sache toutefois qu'il est impossible d'afficher une liste style validation, dans un textbox. Il faut, dans ce cas, utiliser le contrôle ComboBox...
Pour ta deuxième question :
au remplissage de l'userform :
Echeance1.Value = Format(Sheets("Base RDP").Cells(ligne, 21), "dd-mmm-yy")
au remplissage de ta feuille depuis l'userform :
'ici Echeance1 est un textbox et donc renvoie un String
'on doit donc le convertir en Date grâce à CDate
Sheets("Base RDP").Cells(ligne, 21) = Format(CDate(Echeance1.Value), "dd/mm/yy")
On reste ainsi toujours avec des dates
Pour ta première question, elle est vraiment mal posée, je ne comprends pas. Sache toutefois qu'il est impossible d'afficher une liste style validation, dans un textbox. Il faut, dans ce cas, utiliser le contrôle ComboBox...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
7 août 2014 à 11:10
7 août 2014 à 11:10
Petite précision au cas ou quelqu'un suivrait ce sujet, le fichier se trouve dans la discussion : https://forums.commentcamarche.net/forum/affich-30617491-appeler-un-textbox-a-l-aide-d-une-variable#p30621706
Je regarde pour les combo en cascade...
Je regarde pour les combo en cascade...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
7 août 2014 à 11:20
7 août 2014 à 11:20
(Dans la validation de données, il suffit d'utilisaer la formule =INDIRECT(), mais ça serait beaucoup trop facile, si c'était aussi simple dans VBA)
Et bien détrompe toi, c'est encore plus simple...
Par exemple, pour que le Secteur choisi dans la ComboBox Secteur engendre la liste de la combobox Zone :
Ceci est rendu facile car tu as su utiliser à bon escient le gestionnaire de noms d'Excel...
Et bien détrompe toi, c'est encore plus simple...
Par exemple, pour que le Secteur choisi dans la ComboBox Secteur engendre la liste de la combobox Zone :
Private Sub Secteur_Change()
If Secteur.Value = "" Then Exit Sub
Zone.Clear
SsZone.Clear
Zone.List = Application.Transpose(Range(Secteur.Value).Value)
End Sub
Ceci est rendu facile car tu as su utiliser à bon escient le gestionnaire de noms d'Excel...
Villette54
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
28
7 août 2014 à 11:54
7 août 2014 à 11:54
Effectivement ça fonctionne très bien pour la zone et c'est très simple (pour une fois). Merci :)
Et en plus, ça fonctionne aussi pour la sous-zone, avec exactement la meme syntaxe (j'avais peur de devoir faire un montage du genre Application.Transpose(Application.Transpose.....)
Mais meme pas, on va au plus simple pour une fois. C'est parfait.
Un grand merci à toi, et à toute l'aide que tu m'as apportés.
Pour le moment tous mes problèmes ont été solutionnés, mais à n'en pas douter, j'aurais encore besoin de l'aide de CCM prochainement !
Bonne journée, et encore merci.
PS : J'ai essayé de changer le nom du sujet pour mettre Alimentation Combobox / Affichage TextBox pour faciliter les recherches mais j'ai eu un message "Impossible de modifier". Si c'est en ton pouvoir je pense que ça pourra aider...
Et en plus, ça fonctionne aussi pour la sous-zone, avec exactement la meme syntaxe (j'avais peur de devoir faire un montage du genre Application.Transpose(Application.Transpose.....)
Mais meme pas, on va au plus simple pour une fois. C'est parfait.
Un grand merci à toi, et à toute l'aide que tu m'as apportés.
Pour le moment tous mes problèmes ont été solutionnés, mais à n'en pas douter, j'aurais encore besoin de l'aide de CCM prochainement !
Bonne journée, et encore merci.
PS : J'ai essayé de changer le nom du sujet pour mettre Alimentation Combobox / Affichage TextBox pour faciliter les recherches mais j'ai eu un message "Impossible de modifier". Si c'est en ton pouvoir je pense que ça pourra aider...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
7 août 2014 à 12:05
7 août 2014 à 12:05
En bonus, une petite fonction qui vérifie si le nom du range (que tu place dans ta combo) est bien un nom définit du classeur. Ca t'évitera d'avoir des soucis au cas ou un nom n'est pas définit :
Fonction que tu appelles depuis ton code Combo_Change :
Function NomDefini(Nom As String) As Boolean Dim Noms As Name NomDefini = False For Each Noms In ThisWorkbook.Names If Noms.Name = Nom Then NomDefini = True: Exit Function Next Noms End Function
Fonction que tu appelles depuis ton code Combo_Change :
Private Sub Secteur_Change() If Secteur.Value = "" Then Exit Sub Zone.Clear SsZone.Clear If NomDefini(Secteur.Value) Then Zone.List = Application.Transpose(Range(Secteur.Value).Value) End Sub
Villette54
Messages postés
300
Date d'inscription
vendredi 15 mars 2013
Statut
Membre
Dernière intervention
31 juillet 2018
28
7 août 2014 à 13:22
7 août 2014 à 13:22
Quelle anticipation...
J'étais tranquillement entrain de transposer tout dans mon fichier original, et au moment des test j'ai eu un message d'erreur sur une zone qui n'avait pas de sous-zone... --> Aspect que j'avais totalement oublié.
Je reviens ici pour re-re-redemander de l'aide, et là... Bim la réponse, avant meme que la question soit pose, c'est beau.
Merci beaucoup...
J'étais tranquillement entrain de transposer tout dans mon fichier original, et au moment des test j'ai eu un message d'erreur sur une zone qui n'avait pas de sous-zone... --> Aspect que j'avais totalement oublié.
Je reviens ici pour re-re-redemander de l'aide, et là... Bim la réponse, avant meme que la question soit pose, c'est beau.
Merci beaucoup...
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
7 août 2014 à 13:31
7 août 2014 à 13:31
En fait, ce sujet est suffisamment intéressant pour figurer dans une astuce CCM. Astuce que je suis en train de rédiger.
Par conséquent, j'essaie d'anticiper les problèmes que peuvent avoir les internautes; D'où l'anticipation fortuite de ton problème...
Deuxième souci qui pourrait se poser est dans la définition du nom elle même. Il faut faire attention à bien conserver l'orthographe. Un espace en début ou fin de mot ne se voit pas toujours...
L'avantage du test est que tu peux gérer le cas en erreur.
Par exemple indiquer dans Zone : "Erreur" le cas échéant.
Comme ceci :
Par conséquent, j'essaie d'anticiper les problèmes que peuvent avoir les internautes; D'où l'anticipation fortuite de ton problème...
Deuxième souci qui pourrait se poser est dans la définition du nom elle même. Il faut faire attention à bien conserver l'orthographe. Un espace en début ou fin de mot ne se voit pas toujours...
L'avantage du test est que tu peux gérer le cas en erreur.
Par exemple indiquer dans Zone : "Erreur" le cas échéant.
Comme ceci :
Private Sub Secteur_Change()
If Secteur.Value = "" Then Exit Sub
Zone.Clear
SsZone.Clear
If NomDefini(Secteur.Value) Then
Zone.List = Application.Transpose(Range(Secteur.Value).Value)
Else
Zone.AddItem "Erreur fatale"
End If
End Sub
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
7 août 2014 à 14:18
7 août 2014 à 14:18
Et voilà : Une fiche pratique...
7 août 2014 à 11:07
Pardon c'est moi qui dit des conneries... Je me suis emballé avec mes textbox, il s'agit bien ici de combobox. Pour ce qui est du premier niveau (secteur), mon menu déroulant (ma combobox) fonctionne correctement, elle est bien alimentée en revanche pour les deux niveaux en dessous je ne sais pas comment les "liés" à la valeur de la première combobox. (Dans la validation de données, il suffit d'utilisaer la formule =INDIRECT(), mais ça serait beaucoup trop facile, si c'était aussi simple dans VBA)
Je souhaite donc que ma combobox Zone, dépende de secteur, et que sous zone dépende de zone (sachant que toutes mes plages sont nommées).
Idem je souhaite que détail dépende de sujet.
Pour les dates, effectivement ça fonctionne ! En revanche il restait le soucis lors du changement de la date via le calendrier. J'ai juste repris la meme syntaxe, et comme par magie ça fonctionne
Merci !