Insertion de modifications dans la feuille depuis un USF

  • Initiateur de la discussion Initiateur de la discussion apt
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

apt

XLDnaute Impliqué
Bonsoir à tous,

Pour alimenter les cases d’un USF depuis la feuille « Listes », j’utilise ce code :

Code:
Private Sub ComboBox1_Change()
    If ComboBox1.ListIndex <> -1 Then
        TextBox1.Value = [Reference].Rows(ComboBox1.ListIndex + 1).Columns(1)
        TextBox2.Value = [Reference].Rows(ComboBox1.ListIndex + 1).Columns(2)
        TextBox3.Value = [Reference].Rows(ComboBox1.ListIndex + 1).Columns(3)
    End If
End Sub

Mais en voulant insérer les modifications, apportées dans l’USF, dans la feuille, j’ai seulement inversé le

processus, mais malgré ca, ca ne me réussi plus.

Pour cela j’ai essayé deux déférents codes, sans obtenir le résultat voulu

L’insertion des modifications affecte seulement les cellules de la plage nommée [Reference] (Colonne A). Le reste

pas de changement.

1er essai :

Code:
[Reference].Rows(ComboBox1.ListIndex + 1).Columns(1).Value = TextBox1.Value
    [Reference].Rows(ComboBox1.ListIndex + 1).Columns(2).Value = TextBox2.Value
    [Reference].Rows(ComboBox1.ListIndex + 1).Columns(3).Value = TextBox3.Value

2ème essai :

Code:
[Reference].Rows(ComboBox1.ListIndex + 1) = TextBox1.Value
    [Reference].Rows(ComboBox1.ListIndex + 1).Offset(0, 1) = TextBox2.Value
    [Reference].Rows(ComboBox1.ListIndex + 1).Offset(0, 2) = TextBox3.Value

Merci.
 

Pièces jointes

Re : Insertion de modifications dans la feuille depuis un USF

Bonsoir,

Ton code, celui du fichier joint, semble fonctionner correctement. Les données des colonnes A, B et C sont bien modifiées si on utilise le bouton Valider après avoir changé les données dans les textbox.

G
 
Re : Insertion de modifications dans la feuille depuis un USF

Bonsoir,

Le code ne marche que si le calcul est manuel

Si le calcul automatique est activé, le code ne fonctionne plus !

Je ne sais pas pourquoi ?

Quelqu'un peut m'expliquer cela ?

Merci.
 
Re : Insertion de modifications dans la feuille depuis un USF

Allô!

Tu as tout à fait raison que lors du calcul automatique, le déroulement de la macro ne se fait pas bien.

Le pourquoi ?

C'est que l'item choisi du combobox est aussi l'item qui est dans le textbox "Nom de référence".

Quand une modification est effectuée et que le calcul automatique est activé, Private Sub ComboBox1_Change() se réexécute. Et que fait-il? Il relie les valeurs dans la feuille "Liste". Donc change le contenu des textbox.

Pour corriger, il suffit d'arrêtre le calcul automatique au début du traitement et de le réactiver à la fin.

Ainsi :

Code:
Private Sub Btn_ModifRef_Click()
'Plage nommée : [Reference] = Listes!$A$2:$A$6
    Application.Calculation = xlManual
    [Reference].Rows(ComboBox1.ListIndex + 1).Columns(1).Value = TextBox1.Value
    [Reference].Rows(ComboBox1.ListIndex + 1).Columns(2).Value = TextBox2.Value
    [Reference].Rows(ComboBox1.ListIndex + 1).Columns(3).Value = TextBox3.Value
    Application.Calculation = xlAutomatic
End Sub

Private Sub ComboBox1_Change()
    Application.Calculation = xlManual
    If ComboBox1.ListIndex <> -1 Then
        TextBox1.Value = [Reference].Rows(ComboBox1.ListIndex + 1).Columns(1)
        TextBox2.Value = [Reference].Rows(ComboBox1.ListIndex + 1).Columns(2)
        TextBox3.Value = [Reference].Rows(ComboBox1.ListIndex + 1).Columns(3)
    End If
    Application.Calculation = xlAutomatic
End Sub

G
 
Re : Insertion de modifications dans la feuille depuis un USF

Bonjour Gelinotte,

Pour que le code fonctionne, il faut laisser le calcul en manuel et supprimer cette ligne :

Code:
Application.Calculation = xlAutomatic

Je vous signale que le ComboBox est initialiser par le biais de sa propriété RowsSource = Reference
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

H
Réponses
3
Affichages
1 K
HugoB99
H
Réponses
7
Affichages
2 K
Retour