OVH Cloud OVH Cloud

VBA - Le combobox revient à la valeur initiale après sauvegarde

3 réponses
Avatar
twinley
Bonjour à tous

Un ComboBox nommé CmbPrenom contient 6 prénoms venant d'un range P2:P7
Le classeur original se sert du prénom N°1 pour créer son nom et son
répertoire.

Je choisi un autre prénom N°2, je lance un process de copie conforme du
classeur original qui crée le classeur "copie" avec le prénom N°2.

Or dans le classeur "copie", le combo CmbPrenom reste avec le prenom
N°1 du premier classeur. J'aimerais avoir la fermeture-enregistrement
avec le prénom N°2 dans le classeur "copie".

Comment puis je enregistrer le nouveau prénom N°2 du Combo issu du
classeur original, dans le classeur "copie" ?
Par contre cela m'arrange de garder le prénom N°1 dans le classeur
original, c'est ce qui se produit actuellement.

posit = UsfPanneauGénéral.CmbPrenom.ColumnCount
me donne la position du prénom N°2 dans la liste mais comment
l'enregistrer ? Le combo du classeur "copie" revient désespéremment à la
valeur initiale, le prénom N°1...

Merci pour votre aide


--
à+twinley

3 réponses

Avatar
Pounet95
Bonjour Twinley,
Alors ses échanges avec Syra ..... c'est plus calme ?

Ce que je te propose, si j'ai bien lu (Freud ? non Twinley)
Si ton classeur a pour nom le prénom toto
dans l'évènement qui va bien ( initialize du userform ou workbook_open du
classeur)
mettre combobo.value=thisworkbook.name

Je pense que cela devrait mettre la sélection du combobox sur la bonne
valeur

Ai-je bon ?

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"twinley" a écrit dans le message de news:
ucvHVZj%
Bonjour à tous

Un ComboBox nommé CmbPrenom contient 6 prénoms venant d'un range P2:P7
Le classeur original se sert du prénom N°1 pour créer son nom et son
répertoire.

Je choisi un autre prénom N°2, je lance un process de copie conforme du
classeur original qui crée le classeur "copie" avec le prénom N°2.

Or dans le classeur "copie", le combo CmbPrenom reste avec le prenom N°1
du premier classeur. J'aimerais avoir la fermeture-enregistrement avec le
prénom N°2 dans le classeur "copie".

Comment puis je enregistrer le nouveau prénom N°2 du Combo issu du
classeur original, dans le classeur "copie" ?
Par contre cela m'arrange de garder le prénom N°1 dans le classeur
original, c'est ce qui se produit actuellement.

posit = UsfPanneauGénéral.CmbPrenom.ColumnCount
me donne la position du prénom N°2 dans la liste mais comment
l'enregistrer ? Le combo du classeur "copie" revient désespéremment à la
valeur initiale, le prénom N°1...

Merci pour votre aide


--
à+twinley


Avatar
twinley
Bonjour à tous, bonjour Pounet

Ben avec 9 heures de décalage la conversation est un peu décousue.
Pour ma part je n'ai jamais ouvert un livre de psychologie ni de
philosophie. Alors je n'ai pas toujours le "vocabulaire savant qui cache
l'incompétence".
Par contre faut pas taper à côté de la plaque, je vois tout de suite si
le discours est creux.
Quant à l'imagination, il faut savoir s'en servir, elle a raison c'est
une pierre angulaire.
La direction la plus prometteuse c'est "se libérer du connu" et là elle
n'en a pas assez dit pour que je jauge la bête.
C'est la voie royale et si elle en parle c'est qu'elle a fait un beau
parcours. Ptet que cela reviendra sur le tapis, mais il y a plus à faire
dans la pratique que dans le discours !
Tu penses qu'à deux heures du mat, j'allais pas m'embarquer pour voir ce
qu'il y a dans la tête d'une femme au milieu du Pacifique...
La tête étant quand même le meilleur morceau chez la femme.

Revenons aux choses sérieuses !
Tu me donnes une bonne idée, je peux extraire le prenom de la chaine du
nom de fichier qui est sous la forme 2005carole.xls
Ce sera plus simple que l'usine à gaz que je viens d'inaugurer.
J'ai mis ce code dans le module ThisWorkBook :

Private Sub Workbook_Open()
positionprenom
UsfPanneauGénéral.CmbPrenom.ListIndex = ligneprenom - 1
End Sub

avec la sub suivante

Sub positionprenom()
' cherche le N° de ligne où le prénom se trouve dans combo.listindex
Dim preno As String
Dim derlgn As Integer
derlgn = Sheets("clients").Range("P23").End(xlUp).Row
preno = Sheets("clients").[A1]
ligneprenom = Application.Match(preno,
Sheets("clients").Range("P2:P" & derlgn), 0)
End Sub

ça marche, c'est pas très élégant, mais à mon petit niveau et en
attendant mieux.
Je vais simplifier cette manip avec ton idée...

Merci pour l'aide

à+twinley

Bonjour Twinley,
Alors ses échanges avec Syra ..... c'est plus calme ?

Ce que je te propose, si j'ai bien lu (Freud ? non Twinley)
Si ton classeur a pour nom le prénom toto
dans l'évènement qui va bien ( initialize du userform ou workbook_open
du classeur)
mettre combobo.value=thisworkbook.name

Je pense que cela devrait mettre la sélection du combobox sur la bonne
valeur

Ai-je bon ?



Avatar
twinley
Bonjour à tous, bonjour Pounet

Ben avec 9 heures de décalage la conversation est un peu décousue.
Pour ma part je n'ai jamais ouvert un livre de psychologie ni de
philosophie. Alors je n'ai pas toujours le "vocabulaire savant qui cache
l'incompétence".
Par contre faut pas taper à côté de la plaque, je vois tout de suite si
le discours est creux.
Quant à l'imagination, il faut savoir s'en servir, elle a raison c'est
une pierre angulaire.
La direction la plus prometteuse c'est "se libérer du connu" et là elle
n'en a pas assez dit pour que je jauge la bête.
C'est la voie royale et si elle en parle c'est qu'elle a fait un beau
parcours. Ptet que cela reviendra sur le tapis, mais il y a plus à faire
dans la pratique que dans le discours !
Tu penses qu'à deux heures du mat, j'allais pas m'embarquer pour voir ce
qu'il y a dans la tête d'une femme au milieu du Pacifique...
La tête étant quand même le meilleur morceau chez la femme.

Revenons aux choses sérieuses !
Tu me donnes une bonne idée, je peux extraire le prenom de la chaine du
nom de fichier qui est sous la forme 2005carole.xls
Ce sera plus simple que l'usine à gaz que je viens d'inaugurer.
J'ai mis ce code dans le module ThisWorkBook :

Private Sub Workbook_Open()
positionprenom
UsfPanneauGénéral.CmbPrenom.ListIndex = ligneprenom - 1
End Sub

avec la sub suivante

Sub positionprenom()
' cherche le N° de ligne où le prénom se trouve dans combo.listindex
Dim preno As String
Dim derlgn As Integer
derlgn = Sheets("clients").Range("P23").End(xlUp).Row
preno = Sheets("clients").[A1]
ligneprenom = Application.Match(preno,
Sheets("clients").Range("P2:P" & derlgn), 0)
End Sub

ça marche, c'est pas très élégant, mais à mon petit niveau et en
attendant mieux.
Je vais simplifier cette manip avec ton idée...

Merci pour l'aide
à+twinley

Bonjour Twinley,
Alors ses échanges avec Syra ..... c'est plus calme ?

Ce que je te propose, si j'ai bien lu (Freud ? non Twinley)
Si ton classeur a pour nom le prénom toto
dans l'évènement qui va bien ( initialize du userform ou workbook_open
du classeur)
mettre combobo.value=thisworkbook.name

Je pense que cela devrait mettre la sélection du combobox sur la bonne
valeur

Ai-je bon ?