VBA
Résolu/Fermé
Comuto
Messages postés
3
Date d'inscription
jeudi 28 décembre 2017
Statut
Membre
Dernière intervention
29 décembre 2017
-
Modifié le 28 déc. 2017 à 15:57
Comuto Messages postés 3 Date d'inscription jeudi 28 décembre 2017 Statut Membre Dernière intervention 29 décembre 2017 - 29 déc. 2017 à 18:52
Comuto Messages postés 3 Date d'inscription jeudi 28 décembre 2017 Statut Membre Dernière intervention 29 décembre 2017 - 29 déc. 2017 à 18:52
2 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
28 déc. 2017 à 17:50
28 déc. 2017 à 17:50
Bonjour et bienvenue sur CCM,
Tout d'abord, ici c'est pas le Forum VBA mais le Forum Excel. Le Forum VBA est ici :
https://forums.commentcamarche.net/forum/vb-vba-267
Mais ce n'est pas très grave, je vois cette erreur tous les jours.
A première vue ton code devrait fonctionner a condition que Re et Projet aient été définis avant.
Quand tu poses une question sur le code il est préférable de mettre l'intégralité du code (comme dans ton cas, le problème peut se situer avant)
Il faut aussi préciser sur quelle ligne pointe le débogueur et le message d'erreur qu'il donne.
qq conseils :
- Commences tous tes modules pas Option Explicit
- Plus tu est rigoureux moins tu as de problème
Il y a une erreur avec "i" dans :
Mat = Sheets(Projet).Range("B" & "i").Value
ce qui équivaut à
Mat = Sheets(Projet).Range("Bi").Value
Préférer Worksheets à Sheets d'où :
Mat = Worksheets(Projet).Range("B" & i).Value
Idem pour Résultats
Tout d'abord, ici c'est pas le Forum VBA mais le Forum Excel. Le Forum VBA est ici :
https://forums.commentcamarche.net/forum/vb-vba-267
Mais ce n'est pas très grave, je vois cette erreur tous les jours.
A première vue ton code devrait fonctionner a condition que Re et Projet aient été définis avant.
Quand tu poses une question sur le code il est préférable de mettre l'intégralité du code (comme dans ton cas, le problème peut se situer avant)
Il faut aussi préciser sur quelle ligne pointe le débogueur et le message d'erreur qu'il donne.
qq conseils :
- Commences tous tes modules pas Option Explicit
- Plus tu est rigoureux moins tu as de problème
Il y a une erreur avec "i" dans :
Mat = Sheets(Projet).Range("B" & "i").Value
ce qui équivaut à
Mat = Sheets(Projet).Range("Bi").Value
Préférer Worksheets à Sheets d'où :
Mat = Worksheets(Projet).Range("B" & i).Value
Idem pour Résultats
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 428
Modifié le 29 déc. 2017 à 17:17
Modifié le 29 déc. 2017 à 17:17
Bonjour
Trois erreurs au moins...
1. Le nom de la feuille doit être entre guillemets
2. l'adresse variable "Ai" >>> "A" & i
3. Ta boucle Do while .... loop tourne en rond
Un début ?
Cdlmnt
Trois erreurs au moins...
1. Le nom de la feuille doit être entre guillemets
2. l'adresse variable "Ai" >>> "A" & i
3. Ta boucle Do while .... loop tourne en rond
Un début ?
Private Sub CommandButton3_Click() Dim Re, Nombre1, Nombre2, Nombre3 As Double Dim Résultat As String Dim Val, i, Mat As Double If (IsNumeric(TextBox1.Value) And IsNumeric(TextBox2.Value) And IsNumeric(TextBox3.Value)) Then Nombre1 = CDbl(TextBox1.Value) Nombre2 = CDbl(TextBox2.Value) Nombre3 = CDbl(TextBox3.Value) If (0 > Nombre1 Or 0 >= Nombre2 Or 0 > Nombre3) Then Val = MsgBox("Pas dans l'intervalle", vbExclamation) Else Re = (Nombre1 * Nombre3) / Nombre2 i = 2 Mat = 0 Do While Re > Mat Or i = 23 'Comparer la valeur de Re calculé à une valeur donnée sur une feuille Mat = Worksheets("Projet").Range("B" & i).Value Résultat = Worksheets("Projet").Range("A" & i).Value 'Le nom associer à cette valeur "mat" i = i + 1 Loop Label5.Caption = CStr(Résultat) End If Else Val = MsgBox("Pas numérique", vbExclamation) End If End Sub
Cdlmnt
Comuto
Messages postés
3
Date d'inscription
jeudi 28 décembre 2017
Statut
Membre
Dernière intervention
29 décembre 2017
29 déc. 2017 à 18:52
29 déc. 2017 à 18:52
Merci beaucoup, ça fonctionne parfaitement maintenant ! Bonne soirée.
Modifié le 29 déc. 2017 à 15:42
Cordialement.