Recherche de simplification du codage
Résolu
mijean94
Messages postés
417
Statut
Membre
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J’ai réalisé un petit programme qui semble fonctionner, mais je me pose la question s’il n’y a pas plus simple en matière de codage.
Voici mon code :
Avez-vous un avis ?
Merci pour vos réponses.
Cordialement
J’ai réalisé un petit programme qui semble fonctionner, mais je me pose la question s’il n’y a pas plus simple en matière de codage.
Voici mon code :
Private Sub CommandButton7_Click()
If ComboBox2 = "" Then
MsgBox (" Vous n'avez pas choisi de client ")
Else: GoTo 1
End If
GoTo 2
1:
Unload Formulaire_clients
Sheets("Devis").Activate
Range("A" & 7).Value = ComboBox2
Range("B" & 7).Value = ComboBox3
Range("C" & 7).Value = TextBox1
Range("D" & 7).Value = TextBox2
Range("E" & 7).Value = TextBox3
Range("F" & 7).Value = TextBox4
Range("G" & 7).Value = TextBox5
Range("H" & 7).Value = TextBox6
Range("I" & 7).Value = TextBox7
2:
End Sub
Avez-vous un avis ?
Merci pour vos réponses.
Cordialement
A voir également:
- Recherche de simplification du codage
- Codage ascii - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Codage binaire - Guide
- Recherche image - Guide
1 réponse
Bonjour,
Evite les Goto.
Ils ne sont utiles qu'en cas de traitement d'erreur. Sinon, le code n'est pas super clair.
Regarde ton code sans Goto :
Code que l'on pourrait modifier, sans "activater" la feuille, et simplement en y faisant référence :
A noter : les points devant les Range pour faire référence à la feuille Devis.
De même Unload Formulaire_clients serait certainement mieux en fin de procédure, comme ceci :
Cette syntaxe est curieuse :
Si c'est toujours 7, il convient d'utiliser :
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je
Evite les Goto.
Ils ne sont utiles qu'en cas de traitement d'erreur. Sinon, le code n'est pas super clair.
Regarde ton code sans Goto :
Private Sub CommandButton7_Click()
If ComboBox2 = "" Then
MsgBox (" Vous n'avez pas choisi de client ")
Else
Unload Formulaire_clients
Sheets("Devis").Activate
Range("A" & 7).Value = ComboBox2
Range("B" & 7).Value = ComboBox3
Range("C" & 7).Value = TextBox1
Range("D" & 7).Value = TextBox2
Range("E" & 7).Value = TextBox3
Range("F" & 7).Value = TextBox4
Range("G" & 7).Value = TextBox5
Range("H" & 7).Value = TextBox6
Range("I" & 7).Value = TextBox7
End If
End Sub
Code que l'on pourrait modifier, sans "activater" la feuille, et simplement en y faisant référence :
Private Sub CommandButton7_Click()
If ComboBox2 = "" Then
MsgBox (" Vous n'avez pas choisi de client ")
Else
Unload Formulaire_clients
With Sheets("Devis")
.Range("A" & 7).Value = ComboBox2
.Range("B" & 7).Value = ComboBox3
.Range("C" & 7).Value = TextBox1
.Range("D" & 7).Value = TextBox2
.Range("E" & 7).Value = TextBox3
.Range("F" & 7).Value = TextBox4
.Range("G" & 7).Value = TextBox5
.Range("H" & 7).Value = TextBox6
.Range("I" & 7).Value = TextBox7
End With
End If
End Sub
A noter : les points devant les Range pour faire référence à la feuille Devis.
De même Unload Formulaire_clients serait certainement mieux en fin de procédure, comme ceci :
Private Sub CommandButton7_Click()
If ComboBox2 = "" Then
MsgBox (" Vous n'avez pas choisi de client ")
Else
With Sheets("Devis")
.Range("A" & 7).Value = ComboBox2
.Range("B" & 7).Value = ComboBox3
.Range("C" & 7).Value = TextBox1
.Range("D" & 7).Value = TextBox2
.Range("E" & 7).Value = TextBox3
.Range("F" & 7).Value = TextBox4
.Range("G" & 7).Value = TextBox5
.Range("H" & 7).Value = TextBox6
.Range("I" & 7).Value = TextBox7
End With
Unload Formulaire_clients
End If
End Sub
Cette syntaxe est curieuse :
.Range("A" & 7).Value
Si c'est toujours 7, il convient d'utiliser :
.Range("A7").Value
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je