Recherche du dernier Nom

Ilino

XLDnaute Barbatruc
Bonjour Forum
J’ai choisissais de changer le fil (https://www.excel-downloads.com/threads/calculer-le-cumule-en-vba.204187/) afin d’éviter toute ambigüité et de poser un nouveau souci claire on tenant compte les réponses de l’ancien fil (résolu)
1 . Mon Souci : recherche le dernier nom sélectionné via ‘comboBox nom’ de USF dans le tableau de la feuille « FSCP » et afficher les données de deux colonnes J&K correspond a ce nom respectivement dans les deux TextBox ( avec solde et sans solde) de USF
Exemple : si je sélectionne ‘NOM2’ dans mon ComboBox je dois avoir dans les deux TextBox de mon USF ,Les dernières données de ce nom ( ligne 15)des deux colonnes J&K :
Avec Solde : 2
Sans Solde : 2,5

Grazie per la comprensione.:eek:
 

Pièces jointes

  • CP ILINO FORUM 2013 04 12.xlsm
    228.7 KB · Affichages: 160
  • CP ILINO FORUM 2013 04 12.xlsm
    228.7 KB · Affichages: 153
  • CP ILINO FORUM 2013 04 12.xlsm
    228.7 KB · Affichages: 157

CHALET53

XLDnaute Barbatruc
Re : Recherche du dernier Nom

J'avais mal interprété la question :

Private Sub Nom_Change()
avecsolde.Enabled = True
sanssolde.Enabled = True
datecp.Enabled = True
avec.ForeColor = &H80000012 'rouge
sans.ForeColor = &H80000012 'rouge
avec.BackColor = &H8000000F 'rouge
sans.BackColor = &H8000000F 'rouge


derligne = Sheets("FSCP").Range("B65536").End(xlUp).Row
For i = derligne To 3 Step -1
If Cells(i, 2) = Nom Then col = i: i = 3
Next i
With Sheets("Liste")
Me.prénom = .Cells(Me.Nom.ListIndex + 2, 2)
Me.fonction = .Cells(Me.Nom.ListIndex + 2, 3)
Me.structure = .Cells(Me.Nom.ListIndex + 2, 4)
End With
With Sheets("FSCP")
If col = "" Then Me.avec = 5 Else Me.avec = .Cells(col, 12)
If col = "" Then Me.sans = 5 Else Me.sans = .Cells(col, 13)
End With
'Stop
If avec.Value = "N’ouvert pas le droit " And sans.Value = "N’ouvert pas le droit " Then
datecp.Enabled = False
MsgBox ("N'ouvert pas le droit,toutes les CP sont consommées... MERCI")

End If
If avec.Value = "N’ouvert pas le droit " Then
avec.ForeColor = &HFF& 'rouge
avec.BackColor = &HFFFF00 'rouge
End If
If sans.Value = "N’ouvert pas le droit " Then
sans.ForeColor = &HFF& 'rouge
sans.BackColor = &HFFFF00 'rouge
End If

End Sub
 

Ilino

XLDnaute Barbatruc
Re : Recherche du dernier Nom

Re
merci merci grazie
4. SOUCIS :j'ai ajouter un bouton pour réinitialiser la frame Agent ( code ci dessous)
Code:
Private Sub CommandButton1_Click() 'réinitialiser
Nom = ""
prénom = ""
fonction = ""
structure = ""
avec = ""
sans = ""
End Sub
et j'ai souhaité ajouter ce code( ci dessous) pour afficher ce bouton dans le cas ou le Combobox ( nom ) n'est pas vide??

Code:
If Nom <> "" Then CommandButton1.Visible = True: Exit Sub
NB : j'ai fait la propriétés visible de ce bouton : false
A+
 
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : Recherche du dernier Nom

Que veux-tu faire ?
A l'ouverture du USF : commandbutton1 doit être invisible
Un nom est renseigné : Alors commandbutton1 est visible
Je lance Commandbutton1 pour mettre à blanc et je rends commandbutton1 invisible (puisqu'il n'y a plus d'info dans Nom

Est-ce cela ?
 

CHALET53

XLDnaute Barbatruc
Re : Recherche du dernier Nom

Rajoute cette ligne dans :
Private Sub UserForm_Initialize()
CommandButton1.Visible = False
With Sheets("Liste")
.....
End Sub

Rajoute :
Private Sub CommandButton1_Click()
Nom = ""
prénom = ""
fonction = ""
structure = ""
avec = ""
sans = ""
CommandButton1.Visible = False
End Sub

Rajoute dans cette procédure :
Private Sub Nom_Change()
CommandButton1.Visible = True
avecsolde.Enabled = True
sanssolde.Enabled = True
datecp.Enabled = True
avec.ForeColor = &H80000012 'rouge
sans.ForeColor = &H80000012 'rouge
avec.BackColor = &H8000000F 'rouge
sans.BackColor = &H8000000F 'rouge

derligne = Sheets("FSCP").Range("B65536").End(xlUp).Row
....
....
End Sub
 

Ilino

XLDnaute Barbatruc
Re : Recherche du dernier Nom

Bonsoir Forum, Bonsoir CHALET;
si vous permettez , je vous sollicite a m'aider :
5. SOUCI: Je souhaiterai ajouter de (ou des) condition(s) dans les OptionButton (La Journée, la matinée et l’Après-midi) relatives aux TextBox( avec solde et Sans Solde)
eXemple : si TextBox (Avec Solde ou Sans Solde) afficher un nbr de jour 0,5 jour automatiquement l’optionButton (la journée) est désactiver (grise)
NB : la journée = 1jour
La Matinée = 0,5 jour
L’Après-Midi = 0,5 Jour
Merci par avance et un grand grazie a CHALET:)
 

Ilino

XLDnaute Barbatruc
Re : Recherche du dernier Nom

Bonjour CHALET
Mon souci est le suivant :
Si le textbox Avec Solde contient un chiffre ( nbe de jour)= 0.5 je doit désactiver l’optionbutton La Journée (grise) idem pour TextBox Sans Solde
Je m’explique : j’ai pas le droit de donner a mon agent une journée alors il lui reste une demi journée seulement
A+
 

CHALET53

XLDnaute Barbatruc
Re : Recherche du dernier Nom

En supposant que j'ai bien compris, rajouter :

Private Sub Nom_Change()
CommandButton1.Visible = True
avecsolde.Enabled = True
sanssolde.Enabled = True
datecp.Enabled = True
journée.Enabled = True
journée = True

avec.ForeColor = &H80000012 'rouge
sans.ForeColor = &H80000012 'rouge
avec.BackColor = &H8000000F 'rouge
sans.BackColor = &H8000000F 'rouge

derligne = Sheets("FSCP").Range("B65536").End(xlUp).Row
For i = derligne To 3 Step -1
If Cells(i, 2) = Nom Then col = i: i = 3
Next i
With Sheets("Liste")
Me.prénom = .Cells(Me.Nom.ListIndex + 2, 2)
Me.fonction = .Cells(Me.Nom.ListIndex + 2, 3)
Me.structure = .Cells(Me.Nom.ListIndex + 2, 4)
End With
With Sheets("FSCP")
If col = "" Then Me.avec = 5 Else Me.avec = .Cells(col, 12)
If col = "" Then Me.sans = 5 Else Me.sans = .Cells(col, 13)

If Val(Me.avec) = 0.5 Or Val(Me.sans) = 0.5 Then journée = False: journée.Enabled = False
End With
'Stop
If avec.Value = "N’ouvert pas le droit " And sans.Value = "N’ouvert pas le droit " Then
datecp.Enabled = False
MsgBox ("N'ouvert pas le droit,toutes les CP sont consommées... MERCI")

End If
If avec.Value = "N’ouvert pas le droit " Then
avec.ForeColor = &HFF& 'rouge
avec.BackColor = &HFFFF00 'rouge
End If
If sans.Value = "N’ouvert pas le droit " Then
sans.ForeColor = &HFF& 'rouge
sans.BackColor = &HFFFF00 'rouge
End If

End Sub
 

Ilino

XLDnaute Barbatruc
Re : Recherche du dernier Nom

Bonjour CHALET
sORRY ça ne fonctionne pas , meme j'ai modifié la Syntaxe dans les TextBox( avec solde et sans solde) idem ça n'a pas fonctionné
Code:
If Val(Me.avec) ="0.5 Jour(s)" Or Val(Me.sans) = "0.5 Jour(s)" Then journée = False:
Thanks
 

CHALET53

XLDnaute Barbatruc
Re : Recherche du dernier Nom

Re,

Cela fonctionne chez moi
Je pense que si cela ne fonctionne pas, c'est parce que tu utilises la virgule comme séparateur décimal.
Si dans les paramètre régionaux (panneau de configuration / horloge,langue et région), tu remplaces la virgule par le point, ça fonctionnera


ou alors comme ceci peut-être :
If Me.avec = "00,5 jour(s)" Or Me.sans = "00,5 jour(s)" Then journée = False: journée.Enabled = False
 
Dernière édition:

Ilino

XLDnaute Barbatruc
Re : Recherche du dernier Nom

Sorry j’ai trouvé un autre pblm ; ou bien j’ai mal exposé mon souci (peut être c’est un oublie de ma part)
Exemple : si textbox ( sans solde) = 0.5 jours , alors optionbutton (Journée) désactivé mais normalement dans le mm exemple et j’ai dans textbox (avec solde) un nbr sup a 0.5 je dois avoir la main pour cocher optionbutton (Journée)...
A+
 

CHALET53

XLDnaute Barbatruc
Re : Recherche du dernier Nom

Il faut que les deux soient à 0.5, alors c'est and et or

If Val(Me.avec) = 0.5 And Val(Me.sans) = 0.5 Then journée = False: journée.Enabled = False
Pour ce qui est du point ou de la virgule, c'est toujours galère avec les userforms : c'est pourquoi, j'utilise toujours le point comme séparateur décimal
Il y aurait une solution à trouver avec : Application.International(xlDecimalSeparator) (mais je n'ai jamais utilisé)

a+
 

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof