VBA Excel - modification de données capricieuse
Résolu/Fermé
A voir également:
- VBA Excel - modification de données capricieuse
- Liste déroulante excel - Guide
- Suivi de modification word - Guide
- Logiciel modification pdf gratuit - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
2 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
21 nov. 2014 à 09:32
21 nov. 2014 à 09:32
Bonjour,
Pour une raison que je n'ai pas trouvee, en mode "programme", il y a un appel recurcif de la procedure: Private Sub ListBox1_Click() qui fait la relecture des cellules et la mise a jour des textboxs 2 et 3 mais pas la 1 (?????). En mode "pas a pas" en utilisant des points d'arret, cet appel recurcif est aleatoire
les lignes en gras sont a ajouter chez vous
j'ai palier a cette anomalie par un drapeau de modification:
Pour une raison que je n'ai pas trouvee, en mode "programme", il y a un appel recurcif de la procedure: Private Sub ListBox1_Click() qui fait la relecture des cellules et la mise a jour des textboxs 2 et 3 mais pas la 1 (?????). En mode "pas a pas" en utilisant des points d'arret, cet appel recurcif est aleatoire
les lignes en gras sont a ajouter chez vous
j'ai palier a cette anomalie par un drapeau de modification:
Flag_Modif
Option Explicit
Dim message As String
Dim Marque As Byte
Dim ii As Byte
Dim derligne As Long, f As Long, i As Long, infos As Long
Dim Flag_Modif As Boolean
Private Sub A_Modifier_Click()
If TextBox1.Value = vbNullString Then
message = "Valeur nulle ! "
MsgBox message, vbExclamation
TextBox1.SetFocus
Exit Sub
End If
Flag_Modif = True
With Sheets("Info_Express")
'copie les données
.Range("C" & i + 5).Value = Me.TextBox1
.Range("D" & i + 5).Value = Me.TextBox2
.Range("E" & i + 5).Value = Me.TextBox3
.Range("B" & i + 5).Value = format(Me.TextBox4, "mm/dd/yyyy")
End With
Flag_Modif = False
Private Sub ListBox1_Click()
If Flag_Modif Then Exit Sub
Bonjour,
Merci d'avoir pris le temps de regarder ma question et de m'avoir apporté une réponse qui fonctionne.
Je n'avais pas identifié cet appel récursif. Je n'y avais même pas du tout pensé !
Bonne fin de journée,
Tony.
PS : bien que cochant la case "recevoir réponse", je ne reçois pas les réponses par mail et je ne peux donc pas clôturer cette discussion. Sans vouloir abuser de votre temps, pouvez-vous avoir la gentillesse de le faire pour moi. D'avance, merci.
Merci d'avoir pris le temps de regarder ma question et de m'avoir apporté une réponse qui fonctionne.
Je n'avais pas identifié cet appel récursif. Je n'y avais même pas du tout pensé !
Bonne fin de journée,
Tony.
PS : bien que cochant la case "recevoir réponse", je ne reçois pas les réponses par mail et je ne peux donc pas clôturer cette discussion. Sans vouloir abuser de votre temps, pouvez-vous avoir la gentillesse de le faire pour moi. D'avance, merci.