Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/09/2011, 18h19   #1
Invité de passage
 
Inscription : septembre 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 4
Points : 0
Points : 0
Par défaut Erreur sur un code de jeu d'échec

Bonsoir

j'ai vraiment besoin d'aide

J'ai jamais programmé et dans la licence pro ou je suis mon prof d'info commence par le vba excel

on doit faire un jeu d'echecs en VBA sur excel

Je suis bloqué et tout ce que j'ai fais dans ce programme c'est suivre des tutos et des macros

mais je suis 100% bloqué la
j'ai une erreur a la fin

voila je sais plus quoi faire je demande donc votre aide



Merci beaucoup

Olivier
tryolivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 19h20   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Citation:
j'ai une erreur a la fin
Quelle erreur, sur quelle ligne ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 19h29   #3
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 620
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 620
Points : 30 954
Points : 30 954
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Il serait bon de donner des explications plutôt que ton fichier en expliquant rien, comme si tu voulais que l'on trouve ce qui se passe.

Donc j'ai supprimé :le fichier
L'adresses Email, les échanges doivent se faire sur le forum.
De modifier ton titre, merci de lire les règles du forum.

Donc si tu veux que les membres du forum puissent t'aider il est important de détailler, de mettre ton code sur le forum, d'expliquer où cela bug et ce qui se passe (message d'erreur, ce n'est pas le résultat attendu).

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 19h55   #4
Invité de passage
 
Inscription : septembre 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 4
Points : 0
Points : 0
merci pour vos réponses

je vais essayé d'être plus claire

l'erreur est sur
valeurdepart = Range("D15:E15").Value

ca me met erreur d'execution 13 incompatibilité de type

actuellement j'essaye de rentrée la valeur de départ en mémoire et de l'afficher dans une autre case

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
  Function test()
 
    Dim valeurdepart As Integer
    Dim valeurarrivee As Integer
    Dim valeur As String
    valeurdepart = Range("D15:E15").Value
 
    If valeurdepart <= 63 And valeurdepart >= 0 Then
        Range("D16").Select
        ActiveCell.FormulaR1C1 = valeurdepart
    End If
 
    End Function

merci pour votre aide
tryolivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 20h15   #5
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Deux choses :

1. La valeur retournée par la fonction "test" doit êtrte mise dans "test :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 Function test()
 
    Dim valeurdepart As Integer
    Dim valeurarrivee As Integer
    Dim valeur As String
    valeurdepart = Range("D15:E15").Value
 
    If valeurdepart <= 63 And valeurdepart >= 0 Then
        Range("D16").Select
        test = valeurdepart
    End If
 
    End Function
2. Il faut absolument éviter les cellules fusionnées. C'est une source perpétuelle d'erreurs. Puisque les cellules D15 et E15 sont fusionnées, la valeur du groupe se trouve en D15, la cellule E15 étant vide. Si tu écris :

Code :
valeurdepart = Range("D15:E15").Value
la valeur des deux cellules est retournée sous forme de matrice. Comme, la variable est définie comme Integer, cela provoque une erreur. Ecris donc :

Code :
valeurdepart = Range("D15").Value
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 20h21   #6
Invité de passage
 
Inscription : septembre 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 4
Points : 0
Points : 0
merci beaucoup

mais jai pas compris pourquoi on met

et ca ca n'affiche pas le numero

enfin deja plus d'erreur
tryolivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 21h18   #7
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Je voulais juste te montrer qu'il fallait renseigner "test" dans une fonction du même nom. Regarde cette fonction toute simple :

Code :
1
2
3
4
Function test()
        Application.Volatile 'sert à l'actualisation de la fonction quand la valeur de D15 change
        test = Range("D15").Value
    End Function
Elle renvoie la valeur de la cellule D15 quand tu entres :

dans une cellule.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2011, 21h32   #8
Invité de passage
 
Inscription : septembre 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 4
Points : 0
Points : 0
ha ok génial ! merci beaucoup
tryolivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h01.


 
 
 
 
Partenaires

Hébergement Web