Erreur d'exécution '13': Incompatibilité de type

Bonsoir à tous,

J'ai cherché mon cas dans le forum mais sans succès, donc voilà mon problème.

Lorsque je lance ma macro, j'ai cette erreur:

Erreur d'exécution '13': Incompatibilité de type

Je lance de Débogage et il me renvois ici:

'On les rends égales aux valeurs entrée par l'utilisateur:

nom = TextBox_nom

prenom = TextBox_prenom

age = TextBox_age

taille = TextBox_taille

poids = TextBox_poids

yeux = TextBox_yeux

cheveux = TextBox_cheveux

carac_mvt = TextBox_mvt

carac_san = TextBox_san

carac_hab = TextBox_hab

carac_tir = TextBox_tir

carac_for = TextBox_for

carac_def = TextBox_def

carac_int = TextBox_int

carac_per = TextBox_per

carac_ten = TextBox_ten

carac_cha = TextBox_cha

carac_ins = TextBox_ins

carac_rea = TextBox_rea

Je ne comprend vraiment pas pourquoi il bloque

Je joint le fichier pour ceux qui auraient besoin de plus d'infos.

Merci d'avance!

Bonjour

Tu dois faire le contraire

D'abord vérifier si les données dans les contrôles correspondent à ce que tu veux et ensuite les transférer dans les variables

exemple

    If Not IsNumeric(TextBox_age) Then
      MsgBox "L'âge doit-être de type numérique!", vbOKOnly + vbCritical, "Age incorrect"
      Exit Sub
    End If
    age = TextBox_age

Je n'ai pas trop vérifié mais je ne crois pas utile de passer par des variables

En me basant sur ton exemple j'ai remplacé:

If MsgBox("L'âge doit-être de type numérique!", vbOKOnly + vbCritical, "Age incorrect") = vbOK Then

par

If MsgBox("L'âge doit-être de type numérique!", vbOKOnly + vbCritical, "Age incorrect") Then

Ça à l'air d'avoir réglé le problème. Merci mille fois!

Mais j'en ai un nouveau!! pfffff

Erreur d'exécution '438':

Propriété ou méthode non gérée par cet objet

Je lance de Débogage et il me renvois ici:

Sheets("Fiche de Personnage").Tab.Index = 41

Bonjour

Oui c'est vrai quand j'avais teste ton programme je l'avais corrigé

Essayes

Sheets("Fiche de Personnage").Tab.ColorIndex= 41

Je ne comprends pas pourquoi tu passes par une condition

If MsgBox("L'âge doit-être de type numérique!", vbOKOnly + vbCritical, "Age incorrect") Then

La condition est sur le test du contrôle et si le test est concluant on informe et on quitte la macro

Super!

Tu es vraiment au top, merci beaucoup Banzai!

Encore 2 petites question et j'aurai fini mon objet de création de PJ, je suis aux anges

Donc je supprime CommandButton_manu et CommandButton_manu2 puisqu'ils sont obsolètes (il suffit à l'utilisateur de rentrer les données directement donc bon)

Le CommandButton_valider et CommandButton_quitter sont achevés grâce à toi.

Bon, petit problème dont tu dois connaître les raisons, lorsque je valide, il me fait tout bien sauf qu'il n'écrit pas le contenu des 2 ComboBox, étrange.

Il me reste que CommandButton_annuler.

Alors c'est un peu plus compliqué puisque ce bouton sert à effacer le contenu des TextBox et ComboBox ET dois afficher l'onglet Page1 tout en replaçant les valeurs par défaut.

Bon les valeurs par défaut tout ça, je sais faire. Mais comment fait-on pour changer d'onglet?

Après ça, il restera:

  • la rédaction de l'intrigue (mais ça c'est mon domaine de prédilection ),
  • programmer le système de combat (mais j'avais déjà fait un sujet le concernant, donc c'est du fignolage hihi),
  • et un readme pour expliquer comment jouer.

Je tiens le bon bout! mouahahaha

EDIT: J'avais pas vu ta dernière remarque!

Je regarde ça et réédite ce message... WORK IN PROGRESS ^^

Ok, bon en fait il me mettait

= attendu

ou

attendu fin d'instruction

ou d'autres choses encore et j'ai fait comme ça car je me basais sur un exemple. Dès que j'essais de faire autrement, il me dégage une erreur :/

Bonjour

Pas sur d'avoir compris tes questions

Pour le bouton annuler remplaces ta macro par celle-ci

Sub CommandButton_annuler_Click()

  'Demander à l'utilisateur s'il est certain de vouloir effacer sa fiche de personnage:
  '(Tuto = http://www.excel-pratique.com/fr/vba/boites_de_dialogue.php)
  If MsgBox("Etes-vous certain de vouloir supprimer le contenu de votre Fiche de Personnage", vbYesNo + vbExclamation, "Demande de Confirmation") = vbYes Then
    'S'il valide,
    'Effaçage des données:
    Sheets("Fiche de Personnage").Range("B5,K5,T5,X5,AC5,AH5,AO5,B9,E9,H9,K9,N9,Q9,B13,E13,H13,K13,N13,Q13") = ""

    'Message pour prévenir l'utilisateur que la fiche a bien été supprimée:
    MsgBox "La Fiche de Personnage a bien été effacée !", vbInformation, "Confirmation"
    UserForm_Initialize
  End If

End Sub

Pour afficher la 1ère page du MultiPage modifies le début de la macro "UserForm_Initialize"

Sub UserForm_Initialize()

 Me.MultiPage1.Value = 0
    'Centrer l'UFS par rapport à l'écran:

Ah oui cette ligne allège grandement mes manipulations fastidieuses!

Et on peut relancer l'Initialize de cette façon, ok. C'est vraiment le genre d'astuces qu'on ne trouve pas dans les tutos

Tu as une fois de plus répondu clairement à mes questionnements.

Je clos le sujet, mes objectifs concernant la création de la fiche de PJ ont été remplis.

Merci encore pour ces réponses précises, également pour m'avoir consacré du temps, autant dans la résolution que dans les explications. Tu es bon pédagogue.

Bien à toi,

Aikamaru.

Bonjour,

Cela fait quelque temps que je bloque sur ce problème d'exécution '13' et je n'arrive pas à trouver la solution.

Voilà mon programme :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("G48")) Is Nothing Then

If Target Like "R*" Then

Range("K14").Interior.ColorIndex = 10

ElseIf Target Like "ED" Then

Range("K12").Interior.ColorIndex = 10

Else

Range("K12").Interior.ColorIndex = 2

End If

End If

End Sub

Et c'est en lançant une autre macro que l'erreur s'affiche.

Si quelqu’un pourrait m’aider ça serait génial merci

Rechercher des sujets similaires à "erreur execution incompatibilite type"