Besoin d'aide pour VBA
bonbon
-
bonbon -
bonbon -
Bonjour,
J'aurais besoin d'aide pour écrire 2 programmes en VBA à l'aide de tableaux, car j'ai l'impression que je n'ai pas les connaissances et les outils nécessaires pour y résoudre.
1. Je dois écrire un programme vérifiant si une phrase est un tautogramme càd si tous les mots de la phrase commencent par la même lettre.
2. Je dois écrire un programme vérifiant si un mot est un palindrome càd qui peut aussi bien se lire à l'endroit qu'à l'envers.
Merci de votre aide,
J'aurais besoin d'aide pour écrire 2 programmes en VBA à l'aide de tableaux, car j'ai l'impression que je n'ai pas les connaissances et les outils nécessaires pour y résoudre.
1. Je dois écrire un programme vérifiant si une phrase est un tautogramme càd si tous les mots de la phrase commencent par la même lettre.
2. Je dois écrire un programme vérifiant si un mot est un palindrome càd qui peut aussi bien se lire à l'endroit qu'à l'envers.
Merci de votre aide,
A voir également:
- Besoin d'aide pour VBA
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
3 réponses
Bonjour,
Voir réponse ici http://www.commentcamarche.net/forum/affich 12062178 ecriture programme en vba
Voir réponse ici http://www.commentcamarche.net/forum/affich 12062178 ecriture programme en vba
Deux méthodes pour corriger ce genre de problèmes:
1. Le debugage en affichant régulièrement vos variables.
2. Mettez votre code 's'il est petit), et nous allons essayer de vous aider.
1. Le debugage en affichant régulièrement vos variables.
2. Mettez votre code 's'il est petit), et nous allons essayer de vous aider.
Voilà mon programme !!!!!!!!!!!!!!! J'utilise Visual Basic Editor dans Excel .
Const taille_max = 500
Dim T(taille_max) As String
Dim i As Integer, taille_logique As Integer
Dim j As Integer
Do
taille_logique = InputBox(" Nombre de mots dans la phrase? ")
Loop Until taille_logique <= taille_max
j = 0
For i = 1 To taille_logique
T(i) = InputBox(" Entrez le mot " & i)
j = j + 1
Do
T(1) = X
T(2) = Y
T(3) = Z
j = j + 1
Loop Until j = taille_logique
If j = 1 Then
T(1) = T(2) = T(3) = X
j = j + 1
Else
j = 0
End If
Next i
If j = 1 Then
MsgBox (" La phrase est un tautogramme ")
Else
MsgBox (" La phrase n' est pas un tautogramme ")
End If
Merci par avance,
Const taille_max = 500
Dim T(taille_max) As String
Dim i As Integer, taille_logique As Integer
Dim j As Integer
Do
taille_logique = InputBox(" Nombre de mots dans la phrase? ")
Loop Until taille_logique <= taille_max
j = 0
For i = 1 To taille_logique
T(i) = InputBox(" Entrez le mot " & i)
j = j + 1
Do
T(1) = X
T(2) = Y
T(3) = Z
j = j + 1
Loop Until j = taille_logique
If j = 1 Then
T(1) = T(2) = T(3) = X
j = j + 1
Else
j = 0
End If
Next i
If j = 1 Then
MsgBox (" La phrase est un tautogramme ")
Else
MsgBox (" La phrase n' est pas un tautogramme ")
End If
Merci par avance,
Première constatation, sans avoir analysé, tes variables X, Y et Z ne sont pas déclarées.
Deuxième constatation : "T(1) = T(2) = T(3) = X", ça ne marchera pas comme ça ... !!!
Troisième constatation : As-tu essayer en entrant 1 comme nombre de mots dans la phrase ? je pense que tu dois faire une jolie boucle sans fin avec "Loop Until j = taille_logique" puisque J est toujours supérieur à 1 en entrant dans la boucle. Ô_o
Ensuite, des questions :
1) pourquoi déclarer une taille max de mots à saisir ?
2) que représente T ? Pourquoi faire T(i) = InputBox() et ensuite T(1) = X, T(2) = Y et T(3) = Z ? Si j'entre 10 mots dans ma phrase, tu traites comment les 7 autres mots ? ^^
As tu écrit un algorithme en pseudo code avant de te lancer dans ton programme ? Il faut d'abord le faire avant de coder ...
Deuxième constatation : "T(1) = T(2) = T(3) = X", ça ne marchera pas comme ça ... !!!
Troisième constatation : As-tu essayer en entrant 1 comme nombre de mots dans la phrase ? je pense que tu dois faire une jolie boucle sans fin avec "Loop Until j = taille_logique" puisque J est toujours supérieur à 1 en entrant dans la boucle. Ô_o
Ensuite, des questions :
1) pourquoi déclarer une taille max de mots à saisir ?
2) que représente T ? Pourquoi faire T(i) = InputBox() et ensuite T(1) = X, T(2) = Y et T(3) = Z ? Si j'entre 10 mots dans ma phrase, tu traites comment les 7 autres mots ? ^^
As tu écrit un algorithme en pseudo code avant de te lancer dans ton programme ? Il faut d'abord le faire avant de coder ...
Bonjour,
J'ai réussi à faire fonctionner mon programme, mais la procédure ne me semble pas très facile d'utilisation; Comment pourrais-le le rendre plus simple ????
Const taille_max = 500
Dim T(taille_max) As String
Dim i As Integer, taille_logique As Integer, nb_lettre_mots As Integer, nb_lettre_phrase As Integer
Dim j As Integer, k As Integer
Dim mot As String
Dim phrase As String
Dim première_lettre_mot As String
Dim première_lettre_phrase As String
Do
taille_logique = InputBox("Nombre de mots de la phrase")
Loop Until taille_logique <= taille_max
nb_lettre_phrase = 0
k = 1
première_lettre_phrase = InputBox("Par quelle lettre commence la phrase?")
For i = 1 To taille_logique
nb_lettre_mots = InputBox("Nombre de lettres du mot " & i)
nb_lettre_phrase = nb_lettre_phrase + nb_lettre_mots
For j = 1 To nb_lettre_mots
T(j) = InputBox("Entrez la lettre " & j)
première_lettre_mot = T(1)
Next j
If première_lettre_mot = première_lettre_phrase Then
k = k + 1
Else
k = k
End If
Next i
If k = i Then
MsgBox ("La phrase est un tautogramme")
Else
MsgBox ("La phrase n'est pas un tautogramme")
End If
J'ai réussi à faire fonctionner mon programme, mais la procédure ne me semble pas très facile d'utilisation; Comment pourrais-le le rendre plus simple ????
Const taille_max = 500
Dim T(taille_max) As String
Dim i As Integer, taille_logique As Integer, nb_lettre_mots As Integer, nb_lettre_phrase As Integer
Dim j As Integer, k As Integer
Dim mot As String
Dim phrase As String
Dim première_lettre_mot As String
Dim première_lettre_phrase As String
Do
taille_logique = InputBox("Nombre de mots de la phrase")
Loop Until taille_logique <= taille_max
nb_lettre_phrase = 0
k = 1
première_lettre_phrase = InputBox("Par quelle lettre commence la phrase?")
For i = 1 To taille_logique
nb_lettre_mots = InputBox("Nombre de lettres du mot " & i)
nb_lettre_phrase = nb_lettre_phrase + nb_lettre_mots
For j = 1 To nb_lettre_mots
T(j) = InputBox("Entrez la lettre " & j)
première_lettre_mot = T(1)
Next j
If première_lettre_mot = première_lettre_phrase Then
k = k + 1
Else
k = k
End If
Next i
If k = i Then
MsgBox ("La phrase est un tautogramme")
Else
MsgBox ("La phrase n'est pas un tautogramme")
End If
Le problème, c'est que j'ai écrit mon programme en entier, mais il est faux parce j'ai toujours le message " La phrase n'est pas un tautogramme " alors que j'ai l'impression de tout bien faire correctement !!! Comment je pourrais résoudre ce problème en langage VBA car cela me semble bien compliquer !!!!!!!!!
Merci par avance de votre aide,