LABEL dépend de COMBOX

Ilino

XLDnaute Barbatruc
FORUM BONJOUR
J’ai deux colonnes la 1 première colonne NOM avec une liste déroulante et la deuxième colonne PRENOM avec une formule qui dépend de la valeur de la 1 colonne
J’ai un USF composé de combox1 ( pour la colonne 1 Nom) et un label1 ( pour la colonne 2 PRENOM )
Quel est le code VBA a réalisé pour faire afficher le résultat sur LABEL 1 selon le choix de la colonne 1 combox1
Exemple si j’ai dans combx1 NOM1 donc label1 affiche automatiquement PRENOM1 et etc….
Merci
 

Ilino

XLDnaute Barbatruc
Re : LABEL dépend de COMBOX

Re BONSOIR
ci joint l'exemple je ne sais pas encore si il est explicatif
 

Pièces jointes

  • LABEL dépend de COMBOX .xls
    37 KB · Affichages: 47
  • LABEL dépend de COMBOX .xls
    37 KB · Affichages: 45
  • LABEL dépend de COMBOX .xls
    37 KB · Affichages: 41

Excel-lent

XLDnaute Barbatruc
Re : LABEL dépend de COMBOX

Bonsoir Ilino, Pierrot93,

En effet, si tu avais mis un fichier exemple tu aurais obtenu une réponse plus rapidement et surtout beaucoup plus précise!

Car en l'état, la seule réponse que je puisse te donner :

If ComboBoxNom.Value = "Nom1" Then
LabelPrénom = "Prénom1"
End if

Mais en faisant ainsi tu devras lister dans ta macro TOUT tes noms et prénoms! Et s'ils changent, il faudra modifier ta macro!

Il existe de nombreuses autres solutions plus souple mais pour cela il FAUT ABSOLUMENT qu'on voit ton fichier pour te donner la plus pertinente. Sinon on va tous perdre du temps et de l'énergie inutilement.

A te lire
Bonne fin de soirée
 

Ilino

XLDnaute Barbatruc
Re : LABEL dépend de COMBOX

Bonsoir Ilino, Pierrot93,

En effet, si tu avais mis un fichier exemple tu aurais obtenu une réponse plus rapidement et surtout beaucoup plus précise!

Car en l'état, la seule réponse que je puisse te donner :



Mais en faisant ainsi tu devras lister dans ta macro TOUT tes noms et prénoms! Et s'ils changent, il faudra modifier ta macro!

Il existe de nombreuses autres solutions plus souple mais pour cela il FAUT ABSOLUMENT qu'on voit ton fichier pour te donner la plus pertinente. Sinon on va tous perdre du temps et de l'énergie inutilement.

A te lire
Bonne fin de soirée

FORUM BONSOIR
Merci pour la reponse EXCEL LENT
OK ci joint un autre fichier ( apres avoir sup tt les info confidentielle et reduire la taille de fichier)
merci
 

Pièces jointes

  • TEST FSC NEW 2.xlsm
    236.8 KB · Affichages: 41
  • TEST FSC NEW 2.xlsm
    236.8 KB · Affichages: 43
  • TEST FSC NEW 2.xlsm
    236.8 KB · Affichages: 45

Excel-lent

XLDnaute Barbatruc
Re : LABEL dépend de COMBOX

Salut Ilino,

En effet, avec un fichier exemple, quel facilité pour te répondre!

Voici ci-joint la solution à ton problème.

Bonne soirée
PS. : tu exagére, tu aurais pu quand même créer ton USF! Et mettre les codes que tu connais déjà : le code pour le bouton "quitter", le bouton sur la feuille excel permettant l'ouverture de l'USF.
 

Pièces jointes

  • LABEL dépend de COMBOX .xls
    53.5 KB · Affichages: 44
  • LABEL dépend de COMBOX .xls
    53.5 KB · Affichages: 44
  • LABEL dépend de COMBOX .xls
    53.5 KB · Affichages: 44

Excel-lent

XLDnaute Barbatruc
Re : LABEL dépend de COMBOX

Hello,

Oups! J'avais pas vu ce message!

Ilino à dit:
FORUM BONSOIR
Merci pour la reponse EXCEL LENT
OK ci joint un autre fichier ( apres avoir sup tt les info confidentielle et reduire la taille de fichier)
merci

Mais ce n'est pas grave car de toute façon je ne peux pas ouvrir les fichier au format Excel 2007.

Si tu as besoin d'explication pour le code, ou d'autres question, n'hésite pas

A+
 

Excel-lent

XLDnaute Barbatruc
Re : LABEL dépend de COMBOX

Bonsoir,

Ilino à dit:
pourquoi tu as mis 10?

Il n'y a pas de question bête, il n'y a que des réponses idiotes ;)

Pour donner les coordonnées d'une cellule en VBA il existe plusieurs solutions :
1/ la plus connu
2/ la plus pratique

Ces deux codes signifie exactement la même chose : cellule J2.

Cells(numéro de la ligne, numéro de la colonne)

Donc 2 correspond à la seconde ligne
Donc 10 correspond à la dixième colonne, c'est à dire la colonne "J" puisque la lettre "J" est la 10ème lettre de l'alphabet.

On utilise la formulation 'Cells' au lieu de 'Range' quand on veut faire bouger la colonne et/ou ligne car il est plus facile de dire en VBA :
-> 10ème colonnes + 2 -> (10+2) -> c'est à dire la 12ème colonne

-> Que (J + 2) -> c'est à dire la colonne L -> excel ne sait pas faire. Du moins c'est beaucoup plus compliqué.

3/ la plus courte

Les crochets remplacent le mot 'Range' ou 'Cells'

VB:
Private Sub ComboBoxNom_Change()

If ComboBoxNom.Value <> "" Then
' Si la valeur contenu dans la ComboBoxNom est différente de vide alors ...
   LabelPrénom.Caption = Cells(ComboBoxNom.ListIndex + 2, 10)
  'Dans LabelPrénom écrire la valeur contenu dans la cellule
   'n° ligne = n° ligne de la "ComboBoxNom + 2" car le 1er Nom situé sur la ligne 3
   'de ta feuille excel correspond au nom situé sur la 1ère ligne de la ComboBox
   'd'où le "+2"
   'n° colonne : la 10 ème, c'est à dire la colonne J
End If

End Sub

Private Sub UserForm_Initialize()
Dim NuméroLigne As Long
    
NuméroLigne = [I65536].End(xlUp).Row
'Sur ma version d'Excel (2003), excel compte 65536 lignes
'Excel 2007 compte 1 048 576 lignes, donc si tu as Excel 2007 remplacer 65536 par 1048576
'On cherche le numéro de la dernière ligne de ton tableau situé dans les colonnes I et J
'Excel se place sur la dernière cellule de la colonne I : ici la cellule I65536
'Puis il remonte vers le haut jusqu'à la première cellule pleine : "End(xlUp)"
'Puis il note le numéro de cette ligne : ".Row"
'dans la variable "NuméroLigne"

With Sheets("feuil1")
  For i = 2 To NuméroLigne
  'Balayer toutes les lignes du tableau colonne I et J
     ComboBoxNom.AddItem .Cells(i, 9)
    'Rajouter dans la liste déroulante de la ComboBoxNom tous les NOMS rencontrés.
  Next i
End With

End Sub

Concernant la boucle "For... To ... Next" situé à la fin de la macro, je suppose que tu connais déjà?

Bonne fin de soirée
 

Ilino

XLDnaute Barbatruc
Re : LABEL dépend de COMBOX

Bonsoir forum

Salut EXCEL LENT
Meci pour les explications j’ai pu régler mon code , Encore autre question dans le meme contexte

Dans le texbox1 j’ai un nombre de jour ex : 2
Dans le texbox2 j’ai une date ex :12/02/2012
Et dans Label1 je veux faire sortir une date ----> label1 = texbox2+ texbox1 – 1
Ci-joint le code mais il affiche seulement le jour( dans notre exemple il affiche le 13 )

Private Sub textBox1_Change()
If TextBox1.Value <> "" Then
Label1 = Val(TextBox1) + Val(TextBox2) - 1
End If
 

Gelinotte

XLDnaute Accro
Re : LABEL dépend de COMBOX

Bonjour,

Voici une partie ...
Label1.Caption = Day(TextBox2.Value) + TextBox1.Value & "/" & Month(TextBox2.Value) & "/" & Year(TextBox2.Value)

Pour : Label1 = Val(TextBox1) & " " & Val(TextBox2) - 1 ... le -1 serait-il moins "un jour" ?


G
 

Discussions similaires

Réponses
3
Affichages
326

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 501
dernier inscrit
talebafia