OVH Cloud OVH Cloud

[VBA] valeur du code modifiée dynamiquement

5 réponses
Avatar
Microsoft VBA Excel
Re-bonjour à toutes et à tous et merci pour toutes les excellentes
suggestions données jusqu'ici =)

Je souhaite donner la possibilité à un utilisateur de saisir une valeur qui
sera réutilisée dans une procédure les prochaines fois que cette procédure
sera exécutée:

- l'utilisateur clique sur un bouton, ça ouvre un userform qui lui demande
de saisir 3 valeurs.
- la procédure s'arrête.
- un autre utilisateur lance la procédure et il a la possibilité en cliquant
sur un bouton du userform de voir les 3 valeurs saisies par le premier
utilisateur.

Ca peut paraître tordu comme besoin, mais il s'inscrit dans quelque chose de
plus concrêt, je vous rassure... =)

Merci encore et d'avance .

5 réponses

Avatar
Lolote
Salut GG.AA,
Pourquoi ne pas utiliser 3 cellules quelques part dans ton fichier qui
récupère tes 3 saisies.
Puis lors du re-lancement de ce formulaire, tu vas lire les 3 valeurs de
ces cellules.
Au départ elles sont vides donc pas de problème
@+ Lolote

"Microsoft VBA Excel" a écrit dans le message de news:
%
Re-bonjour à toutes et à tous et merci pour toutes les excellentes
suggestions données jusqu'ici =)

Je souhaite donner la possibilité à un utilisateur de saisir une valeur
qui sera réutilisée dans une procédure les prochaines fois que cette
procédure sera exécutée:

- l'utilisateur clique sur un bouton, ça ouvre un userform qui lui demande
de saisir 3 valeurs.
- la procédure s'arrête.
- un autre utilisateur lance la procédure et il a la possibilité en
cliquant sur un bouton du userform de voir les 3 valeurs saisies par le
premier utilisateur.

Ca peut paraître tordu comme besoin, mais il s'inscrit dans quelque chose
de plus concrêt, je vous rassure... =)

Merci encore et d'avance .



Avatar
Don Corleone
Ce n'est pas une mauvaise idée...

... le problème est que le fichier qui contient mes procédure ne contient
pas de feuille ! Penses-tu que ce serait plus simple d'y créer une feuille
config que je masquerait ?

Je pense que tu as raison lolote, je vais m'orienter vers cette solution...
c'est le plus sage...

Merci et bonne nuit !


"Lolote" a écrit dans le message de news:
%
Salut GG.AA,
Pourquoi ne pas utiliser 3 cellules quelques part dans ton fichier qui
récupère tes 3 saisies.
Puis lors du re-lancement de ce formulaire, tu vas lire les 3 valeurs
de ces cellules.
Au départ elles sont vides donc pas de problème
@+ Lolote

"Microsoft VBA Excel" a écrit dans le message de news:
%
Re-bonjour à toutes et à tous et merci pour toutes les excellentes
suggestions données jusqu'ici =)

Je souhaite donner la possibilité à un utilisateur de saisir une valeur
qui sera réutilisée dans une procédure les prochaines fois que cette
procédure sera exécutée:

- l'utilisateur clique sur un bouton, ça ouvre un userform qui lui
demande de saisir 3 valeurs.
- la procédure s'arrête.
- un autre utilisateur lance la procédure et il a la possibilité en
cliquant sur un bouton du userform de voir les 3 valeurs saisies par le
premier utilisateur.

Ca peut paraître tordu comme besoin, mais il s'inscrit dans quelque chose
de plus concrêt, je vous rassure... =)

Merci encore et d'avance .







Avatar
Ange Ounis
.... le problème est que le fichier qui contient mes procédure ne contient
pas de feuille !


S'il s'agit bien d'un fichier Excel, ce que tu dis est impossible. Un classeur a
au moins 1 feuille visible (Crée un nouveau classeur avec 1 seule feuille et
essaye de la supprimer ..).
Ce qui est par contre possible, c'est que tu ne vois pas de feuille parce que
ton classeur est enregistré en .xla (et tu ne vois pas le classeur non plus dans
Excel). Mais, si c'est bien le cas, ça ne t'empêche pas du tout de stocker des
données de tous ordres (infos, paramètres, formules, images, etc) dans la ou les
feuilles de ton xla et de les utiliser dans ton code. C'est même très pratique :)

----------
Ange Ounis
----------

Ce n'est pas une mauvaise idée...

.... le problème est que le fichier qui contient mes procédure ne contient
pas de feuille ! Penses-tu que ce serait plus simple d'y créer une feuille
config que je masquerait ?

Je pense que tu as raison lolote, je vais m'orienter vers cette solution...
c'est le plus sage...

Merci et bonne nuit !


"Lolote" a écrit dans le message de news:
%
Salut GG.AA,
Pourquoi ne pas utiliser 3 cellules quelques part dans ton fichier qui
récupère tes 3 saisies.
Puis lors du re-lancement de ce formulaire, tu vas lire les 3 valeurs
de ces cellules.
Au départ elles sont vides donc pas de problème
@+ Lolote

"Microsoft VBA Excel" a écrit dans le message de news:
%
Re-bonjour à toutes et à tous et merci pour toutes les excellentes
suggestions données jusqu'ici =)

Je souhaite donner la possibilité à un utilisateur de saisir une valeur
qui sera réutilisée dans une procédure les prochaines fois que cette
procédure sera exécutée:

- l'utilisateur clique sur un bouton, ça ouvre un userform qui lui
demande de saisir 3 valeurs.
- la procédure s'arrête.
- un autre utilisateur lance la procédure et il a la possibilité en
cliquant sur un bouton du userform de voir les 3 valeurs saisies par le
premier utilisateur.

Ca peut paraître tordu comme besoin, mais il s'inscrit dans quelque chose
de plus concrêt, je vous rassure... =)

Merci encore et d'avance .










Avatar
JB
Bonjour,

http://cjoint.com/?gdgSEM1sEA

Les valeurs nouvelles saisies sont ajoutées à la liste en colonne A:

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsError(Application.Match(Me.ComboBox1, [valeurs], 0)) Then
[A65000].End(xlUp).Offset(1, 0) = Me.ComboBox1
End If
End Sub

Private Sub ComboBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsError(Application.Match(Me.ComboBox2, [valeurs], 0)) Then
[A65000].End(xlUp).Offset(1, 0) = Me.ComboBox2
End If
End Sub

Private Sub ComboBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsError(Application.Match(Me.ComboBox3, [valeurs], 0)) Then
[A65000].End(xlUp).Offset(1, 0) = Me.ComboBox3
End If
End Sub

Cordialement JB


Re-bonjour à toutes et à tous et merci pour toutes les excellentes
suggestions données jusqu'ici =)

Je souhaite donner la possibilité à un utilisateur de saisir une vale ur qui
sera réutilisée dans une procédure les prochaines fois que cette pr océdure
sera exécutée:

- l'utilisateur clique sur un bouton, ça ouvre un userform qui lui dema nde
de saisir 3 valeurs.
- la procédure s'arrête.
- un autre utilisateur lance la procédure et il a la possibilité en c liquant
sur un bouton du userform de voir les 3 valeurs saisies par le premier
utilisateur.

Ca peut paraître tordu comme besoin, mais il s'inscrit dans quelque cho se de
plus concrêt, je vous rassure... =)

Merci encore et d'avance .


Avatar
JB
Solution tableur:

http://cjoint.com/?gdhHzHoRwj

Si l'élément frappé n'appartient pas à la liste (colonne F), il est
ajouté (Liste dans le tableur)

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([$B$2:$B$4], Target) Is Nothing Then
If IsError(Application.Match(Target.Value, Range("liste"), 0)) Then
Range("liste").End(xlDown).Offset(1, 0) = Target.Value
Range("liste").Sort key1:=Range("liste")(1)
End If
End If
End Sub

Nom de champ: Liste ÞCALER($F$2;;;NBVAL($F:$F)-1)



Re-bonjour à toutes et à tous et merci pour toutes les excellentes
suggestions données jusqu'ici =)

Je souhaite donner la possibilité à un utilisateur de saisir une vale ur qui
sera réutilisée dans une procédure les prochaines fois que cette pr océdure
sera exécutée:

- l'utilisateur clique sur un bouton, ça ouvre un userform qui lui dema nde
de saisir 3 valeurs.
- la procédure s'arrête.
- un autre utilisateur lance la procédure et il a la possibilité en c liquant
sur un bouton du userform de voir les 3 valeurs saisies par le premier
utilisateur.

Ca peut paraître tordu comme besoin, mais il s'inscrit dans quelque cho se de
plus concrêt, je vous rassure... =)

Merci encore et d'avance .