IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

incompatibilé de type


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut incompatibilé de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub CommandButton1_Click()
    Dim pouce As Single
    Dim mm As Single
     
    pouce = Cells(2, 3).Value
    mm = Cells(6, 3).Value
     
    If pouce Is Not Null Then
    mm = pouce * 25.4
    Cells(6, 3).Value = mm
    End If
     
    If mm Is Not Null Then
    pouce = mm / 25.4
    Cells(6, 3).Value = pouce
    End If
     
     
    End Sub
    Voila mon code il me dit que j'ai une incompatibilité de type...Je ne comprend pas du tout...Si vous comprenez vient c'est un convertisseur pouce, mm...Si vous avez une source en delphi ou autre, envoyer sinon essayer de trouver cette fichue erreur svp merci beaucoup

  2. #2
    Membre expérimenté Avatar de Sceener
    Inscrit en
    Mai 2007
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 231
    Par défaut
    peux tu nous disigner la ligne où ça bloque

  3. #3
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    Bonjour,


    Le type Single n'accepte pas les valeurs nulles.

    Essaie en déclarant tes variables en Variant au lieu de Single ou en faisant le test Is Null sur la cellule plutot que la variable.


    Edit: je viens de faire Tilt: Is Null n'est pas valide....

    Essaie plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not IsNull(pouce) then
     
    end if

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    Je comprend qu'il prennent pas les valeur null mais je ne comprend pas la suite??

  5. #5
    Expert confirmé
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Par défaut
    Salut,
    Citation Envoyé par mout1234
    Edit: je viens de faire Tilt: Is Null n'est pas valide....

    Essaie plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not IsNull(pouce) then
     
    end if

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 191
    Par défaut
    Voila:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub CommandButton1_Click()
     
    Dim pouce As Single
    Dim mm As Single
     
    pouce = Cells(2, 3).Value
    mm = Cells(6, 3).Value
     
    If pouce <> 0 Then
    mm = pouce * 25.4
    Cells(6, 3).Value = mm
    End
    End If
     
    If mm <> 0 Then
    pouce = mm / 25.4
    Cells(2, 3).Value = pouce
    End If
     
     
    End Sub
    Bonne journée !

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Par défaut
    null et zéro se n'est pas la même chose

  8. #8
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Citation Envoyé par guismoman33
    null et zéro se n'est pas la même chose
    Hé! Non! Si c'est un test pour savoir si la cellule est laissée vide, alors la fonction à utiliser est IsEmpty. Je viens de faire ce test avec A1 vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub toto()
        If IsNull(Range("A1").Value) Then
            Debug.Print "valeur nulle"
          ElseIf IsNull(Range("A1")) Then
            Debug.Print "cellule nulle"
          ElseIf IsEmpty(Range("A1")) Then
            Debug.Print "cellule vide"
          ElseIf Range("A1").Value = 0 Then
            Debug.Print "égal à zéro"
        End If
    End Sub
    et la fenêtre d'exécution affiche "cellule vide".

  9. #9
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    iif me parait etre une instruction interressante pour vérifier l'affectation d'une variable

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    pouce = IIf(IsEmpty(Cells(2, 3).Value), 0, Cells(2, 3).Value)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. programmation corba: le type "sequence"
    Par Kali dans le forum CORBA
    Réponses: 4
    Dernier message: 28/08/2005, 16h09
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. Réponses: 2
    Dernier message: 05/06/2002, 12h29
  4. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo