combobox, cellule destination, récupérer info cellule dans combobox

  • Initiateur de la discussion CLARCK
  • Date de début
C

CLARCK

Guest
Bonjour le forum

Je souhaite créer un USF avec 2 combobox, 4 textbox . Aprés execution du USF les données s'affichent dans 6 cellules de destination (ex. a1:a6). Une nouvelle saisie de donneés dans le USF affichera ces nouvelles données dans les cellules b1:b6, etc
J'aimerais pouvoir récupérer des données correspondant à une plage (ex. a1:a6) et les réintégrer dans le USF pour pouvoir les modifier.

Merci d'avance

@+
 
L

LaurentTBT

Guest
Bonsoir Clarck, bonsoir le forum.

Le spécialiste des userform, c'est @+Thierry. Cependant, voici ce que je te propose: Si le userform est lancé alors qu'une cellule parmis les données déjà saisies est active, alors il considère que l'on cherche à modifier cette cellule. Si aucune cellule de la plage de données déjà saisies n'est activé, alors le userform s'initialise en mode "nouvelle saisie". C'est ce que j'utilise pour mon prog de gestion de compte perso, et je trouve cela assez pratique.
Pour démo, le fichier joint comporte un exemple, limité à 3 textbox. A toi de le mettre à ta sauce, avec notamment l'initialisation des combo.
J'ai juste un petit problème. Je voulais en plus mettre en surbrillance le textbox correspondant à la cellule active en cas de modification, et je n'arrive plus à me dépatouiller avec les sellenght et selstart.

Bonne soirée. Laurent.
 

Pièces jointes

  • SaisieModif.zip
    13.1 KB · Affichages: 104
@

@+Thierry

Guest
Salut LaurentTBT, Clark et le Forum

Pour Laurent, mis à part que je n'aime pas les démos qui sont limitées à trois cellules ton développement correspond à ce que veut Clark.

Pour ta propre question de mettre en surbrillance la cellule sélectionnée...... Héhéhé t'inquiète pas c'est une truc sur lequel Laurent Longre et Frédérique Sigonneau ont eux même planché sans succès..... J'ai été très heureux de pouvoir donner la réponse sur le MPFE '"tatata Gérad Lambert tatata.... (lol)" (il n'y a pas bien longtemps d'ailleurs avec les remerciements de FS...)

Ton Code modifié :

Option Explicit
Dim CaseElse As String '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ICI !!!


Private Sub UserForm_Initialize()
Dim PlageRemplie As Range

CaseElse = False '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ICI !!!!
If Range("A1") <> "" Then
If Range("A2") = "" Then
Set PlageRemplie = Range("A1:A3")
Else
Set PlageRemplie = Range("A1:" & Range("IV3").End(xlToLeft).Address)
End If
If Application.Intersect(ActiveCell, PlageRemplie) Is Nothing Then
' Cas où la cellule active ne fait pas partie des données déjà remplies.
' Dans ce cas, on fait une nouvelle saisie.
CmbSaisir.Caption = "SAISIR"


Else
' Cas où la cellule active fait partie des données déjà remplies.
' Dans ce cas, on fait une modification de cette saisie.
CmbSaisir.Caption = "MODIFIER"
TextBox1 = ActiveCell.EntireColumn.Range("A1")
TextBox2 = ActiveCell.EntireColumn.Range("A2")
TextBox3 = ActiveCell.EntireColumn.Range("A3")

' Affichage en surbrillance du textbox correspondant à la cellule active:
'Ne MARCHE PAS CHEZ MOI
CaseElse = True ' <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 'ICI !!!!
End If
End If
End Sub
Private Sub UserForm_Activate()
If CaseElse = False Then Exit Sub ' <<<<<<<<<<<<<<<<<< 'ICI !!!!

If ActiveCell.Row = 1 Then
TextBox1.SetFocus
TextBox1.SelStart = 0
TextBox1.SelLength = Len(TextBox1)
ElseIf ActiveCell.Row = 2 Then
TextBox2.SetFocus
TextBox2.SelStart = 0 ' pourqoui "1" ???
TextBox2.SelLength = Len(TextBox2)
Else
TextBox3.SetFocus
TextBox3.SelStart = 0
TextBox3.SelLength = Len(TextBox3)
End If
End Sub

Et oui c'est absolument pas expliqué dans l'aide ........ Valable aussi pour les SetFocus......

Bon Week End à Toi Laurent, à Clark et au Forum (et bonnes Vacances à Vériland !!!)

@+Thierry
 
L

LaurentTBT

Guest
Bonsoir Thierry.

C'est vrai que le terme Démo était un peu fort. Il s'adressait surtout à Clark.

Pour le pb de surbrillance, comment as-tu bien pu trouver que ce n'était faisable qu'avec l'événement activate?
En tout cas, chapeau.

Bonne nuit.
Laurent.
 
@

@+Thierry

Guest
Hummm Laurent

Comment ai-je pu trouver......... En cherchant !!!

Mais la question est Combien de temps ai-je cherché.........

Hummm entre le moment de la dernière éclipse solaire et celle de la Lûne qui correspondait à mon anniversaire !!! lol

Mais en fait c'est vraiment par hazard comme Pierre et Marie Curie ou bien encore encore Pasteur pour la Rage.... Je cherchait tout à fait autre chose (dont je ne me souviens plus d'ailleurs !!! lol)

Bonne Soirée
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16