Profil de jeu dans vba

Fermé
imokot35 - 29 déc. 2014 à 17:43
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 30 déc. 2014 à 08:43
Bonjour,
je travaille actuellement sur la création d'un quiz sur vba et je voudrai y intégrer une notion de profil. J'ai donc une userform qui demande via deux bouton si l'on veut créer un profil ou en utiliser un déjà créé. Je travaille sur l'algorithme qui va chercher dans la liste de pseudonymes existant si le nouveau que l'on veut créer est déjà utiliser. Le résultat que j'obtiens pour le moment est un algorithme qui fait planter mon ordi (ce qui n'était pas le but recherché à la base). Du coup je n'ai pas accès à l'outil de débogage et je n'ai pas l'ombre d'une piste quand aux raisons de ce dysfonctionnement (je ne suis pas un foudre de guerre en programmation et je m'en excuse d'avance). Si quelqu'un pouvait m'orienter vers mon erreur je lui en serais grandement reconnaissant. Merci d'avance.

Voici mon algorithme:
noupro (nouveau profil) et pro (profil) sont deux feuilles excel

Dim N As Long 'déclaration de la variable N
N = 0 'initialisation de la variable N

Do While Not (IsEmpty("A" & N))
N = N + 1 'tant que la cellule "A"N n'est pas vide vérifier la cellule suivante
Loop
N = N - 1 'ma dernière cellule occupé est la cellule A(N-1)
For i = 1 To N 'pour i de 1 à N faire
If Range("noupro!B1").Value <> Range("pro!A" & i).Value Then 'si le nom écrit dans la case B1 dans la feuille noupro est différent des noms compris dans la colonne A dans la feuille pro

Range("pro!A" & N + 1).Value = Range("noupro!B1").Value 'alors ajouter un mot à la colonne A

Else: MsgBox ("pseudonyme déjà utilisé") 'sinon une message box s'affiche et rien ne s'affiche dans la case suivant la dernière case de la colonne

Range("pro!A" & N + 1).Value = ""
End If
Next
A voir également:

2 réponses

Désolé pour l'aspect compact de mon message, le site ne prend pas en compte les espaces et les interlignes apparemment.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 30/12/2014 à 08:43
Bonjour,

N = 0 'initialisation de la variable N 

Do While Not (IsEmpty("A" & N))


déjà
<code>Do While Not IsEmpty (range("A" & N))

et si N=0
erreur car la cellule A0 n'existe pas

combien de lignes as tu ?


Michel
0