Refedit , gestion de la plage sélectionnée

Le
Sylian
J'ai une useform avec un refedit afin de sélectionner une plage de donnée.
-
Question 1 :
-
Comment générer un message d'erreur si la personne a omis de renseigner
le refedit et qu'il a déjà cliquer sur OK ?

Private Sub CommandButton1_Click()

'Teste en premier si une plage de données a été rentrée
'c'est le seul champ de l'interface non prérempli

If RefEdit1.Value = "" Then
Msgxbox "Fill data range first !", vbOKOnly + vbRetry, "Error"
Exit Sub
End If


Initialisation.Hide
'début de la macro
()


Ca me parrassait simple mais ce n'est apparament pas la bonne solution !

-
Question 2 :
-
J'aimerai que fl1 soit la feuille où est choisie ma plage de mon
refedit. Avant c'était systématiquement la feuille 1 (comme suit) et ça
m'arrangeait ! Mais là, je me heurte à un problème de vocabulaire.

Dim fl1 As Worksheet
Set fl1 = Sheets(1)

???? Set fl1=Sheets.Refedit1 ? J'en ai essayé plein sans succès !
-

MERCI BEAUCOUP d'avance pour votre coup de pouce !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #16321841
Bonjour.
1.
Ca fonctionne chez moi avec la syntaxe :

If RefEdit1.Value = "" Then
MsgBox "Fill data range first !", vbOKOnly + vbRetry, "Error"
Unload Me
Exit Sub
End If

Quel est ton problème ?
2. masque les autres feuilles.
Cordialement.
Daniel
"Sylian" 487b2a46$0$14101$
J'ai une useform avec un refedit afin de sélectionner une plage de donnée.
----------------------------------------------------------------------
Question 1 :
----------------------------------------------------------------------
Comment générer un message d'erreur si la personne a omis de renseigner le
refedit et qu'il a déjà cliquer sur OK ?

Private Sub CommandButton1_Click()

'Teste en premier si une plage de données a été rentrée
'c'est le seul champ de l'interface non prérempli

If RefEdit1.Value = "" Then
Msgxbox "Fill data range first !", vbOKOnly + vbRetry, "Error"
Exit Sub
End If


Initialisation.Hide
'début de la macro
(...)


Ca me parrassait simple mais ce n'est apparament pas la bonne solution !

----------------------------------------------------------------------
Question 2 :
----------------------------------------------------------------------
J'aimerai que fl1 soit la feuille où est choisie ma plage de mon refedit.
Avant c'était systématiquement la feuille 1 (comme suit) et ça
m'arrangeait ! Mais là, je me heurte à un problème de vocabulaire.

Dim fl1 As Worksheet
Set fl1 = Sheets(1)

???? Set fl1=Sheets.Refedit1 ? J'en ai essayé plein sans succès !
----------------------------------------------------------------------

MERCI BEAUCOUP d'avance pour votre coup de pouce !


Sylian
Le #16322761
Bonjour Daniel C.

Merci beaucoup pour ton aide ... J'ai retiré le Unload mais en effet ça
fonctionne. Je ne comprends pas pourquoi il me générait une erreur
récurrente de compilation à ce sujet.

Pour la 2ème question, j'ai en fait une feuille source (fl1) et le
résultat de ma macro est recopié sur une feuille destination (fl2).
Comment identifier la feuille où j'ai choisi de prendre ma plage de
données via le refedit ?
Je ne veux rien masquer car je prendre mes données dans n'importe quelle
feuille du classeur ouvert.



Daniel.C a écrit :
Bonjour.
1.
Ca fonctionne chez moi avec la syntaxe :

If RefEdit1.Value = "" Then
MsgBox "Fill data range first !", vbOKOnly + vbRetry, "Error"
Unload Me
Exit Sub
End If

Quel est ton problème ?
2. masque les autres feuilles.
Cordialement.
Daniel
"Sylian" 487b2a46$0$14101$
J'ai une useform avec un refedit afin de sélectionner une plage de donnée.
----------------------------------------------------------------------
Question 1 :
----------------------------------------------------------------------
Comment générer un message d'erreur si la personne a omis de renseigner le
refedit et qu'il a déjà cliquer sur OK ?

Private Sub CommandButton1_Click()

'Teste en premier si une plage de données a été rentrée
'c'est le seul champ de l'interface non prérempli

If RefEdit1.Value = "" Then
Msgxbox "Fill data range first !", vbOKOnly + vbRetry, "Error"
Exit Sub
End If


Initialisation.Hide
'début de la macro
(...)


Ca me parrassait simple mais ce n'est apparament pas la bonne solution !

----------------------------------------------------------------------
Question 2 :
----------------------------------------------------------------------
J'aimerai que fl1 soit la feuille où est choisie ma plage de mon refedit.
Avant c'était systématiquement la feuille 1 (comme suit) et ça
m'arrangeait ! Mais là, je me heurte à un problème de vocabulaire.

Dim fl1 As Worksheet
Set fl1 = Sheets(1)

???? Set fl1=Sheets.Refedit1 ? J'en ai essayé plein sans succès !
----------------------------------------------------------------------

MERCI BEAUCOUP d'avance pour votre coup de pouce !






Daniel.C
Le #16324711
f = Range(RefEdit1.Value).Parent.Name
Daniel
"Sylian" 487b6ce8$0$9738$
Bonjour Daniel C.

Merci beaucoup pour ton aide ... J'ai retiré le Unload mais en effet ça
fonctionne. Je ne comprends pas pourquoi il me générait une erreur
récurrente de compilation à ce sujet.

Pour la 2ème question, j'ai en fait une feuille source (fl1) et le
résultat de ma macro est recopié sur une feuille destination (fl2).
Comment identifier la feuille où j'ai choisi de prendre ma plage de
données via le refedit ?
Je ne veux rien masquer car je prendre mes données dans n'importe quelle
feuille du classeur ouvert.



Daniel.C a écrit :
Bonjour.
1.
Ca fonctionne chez moi avec la syntaxe :

If RefEdit1.Value = "" Then
MsgBox "Fill data range first !", vbOKOnly + vbRetry, "Error"
Unload Me
Exit Sub
End If

Quel est ton problème ?
2. masque les autres feuilles.
Cordialement.
Daniel
"Sylian" 487b2a46$0$14101$
J'ai une useform avec un refedit afin de sélectionner une plage de
donnée.
----------------------------------------------------------------------
Question 1 :
----------------------------------------------------------------------
Comment générer un message d'erreur si la personne a omis de renseigner
le refedit et qu'il a déjà cliquer sur OK ?

Private Sub CommandButton1_Click()

'Teste en premier si une plage de données a été rentrée
'c'est le seul champ de l'interface non prérempli

If RefEdit1.Value = "" Then
Msgxbox "Fill data range first !", vbOKOnly + vbRetry, "Error"
Exit Sub
End If


Initialisation.Hide
'début de la macro
(...)


Ca me parrassait simple mais ce n'est apparament pas la bonne solution !

----------------------------------------------------------------------
Question 2 :
----------------------------------------------------------------------
J'aimerai que fl1 soit la feuille où est choisie ma plage de mon
refedit. Avant c'était systématiquement la feuille 1 (comme suit) et ça
m'arrangeait ! Mais là, je me heurte à un problème de vocabulaire.

Dim fl1 As Worksheet
Set fl1 = Sheets(1)

???? Set fl1=Sheets.Refedit1 ? J'en ai essayé plein sans succès !
----------------------------------------------------------------------

MERCI BEAUCOUP d'avance pour votre coup de pouce !







Sylian
Le #16325191
Daniel.C a écrit :
f = Range(RefEdit1.Value).Parent.Name
Daniel


------------------------------------------------------
J'ai essayé un glorieux :

Dim fl1 As Worksheet
Set fl1 = Range(RefEdit1.Value).Parent.Name

Puis après avoir essuyé un gros bug j'ai tenté un :

Set fl1 = Sheets(Range(RefEdit1.Value).Parent.Name)

Et là ... SUCCES !


MERCI BEAUCOUP DANIEL !
Publicité
Poster une réponse
Anonyme