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 :

ERREUR 13 : Incompatibilité / VBA [XL-MAC 2008]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 6
    Par défaut ERREUR 13 : Incompatibilité / VBA
    Bonjour,

    je suis nouveau sur le forum, et novice dans vba.

    J'essaie de mettre en place une macro le but est de vérfier les données de la colonne A et de les remplacer par : Bon environnement / Mauvais environnement :

    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
    Sub regle()
     
          Dim cell as range
     
    For each cell in columns("A")
     
    If cell.value="304035" then
       cell.value="bon environnement"
     
    Elseif cell.value="305678" then
          Cell.value="mauvais environnement"
     
    End if
         End if
    Next 
     
    End sub
    Mais j'ai un message d'erreur : erreur d'exécution 13 : Incompatibilité type

    Merci infiniment pour votre aide et conseil.

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour Arsene, bonjour le forum,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each Cell In Columns("A").Cells

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 6
    Par défaut
    Merci à vous!

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 6
    Par défaut
    Bonjour Menhir,

    Effectivement vous avez-raison , la prochaine fois je mettrais directement le code en passant par l'éditeur.
    Il s'agissait de la ligne : For Each Cell in columns ("A"). @ThauTheme m'a aidé avec sa réponse.

    Merci ton conseil

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 6
    Par défaut
    Bonjour,

    j'ai encore besoin de votre aide. Dans la continuité de mon projet :
    Il s'agit la qu'Exel arrive à lire les chiffres et le texte ex: 9887UIL09 des cellules de la colonne B pour les remplacer par le bon portefeuille

    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
    sub portf()
     
    Dim Cell As Range
    Dimi Vartexte As String
     
    For Each Cell In Columns("B").Cells
     
    If Cell.Value="9887LVE7" Then
    Cell.Value="cassandra"
     
    ElseIf Cell.Value="9876HJB8" Then
    Cell.Value="paul"
     
    End if
     
    Next 
     
    End sub
    le code s'éxecute mais ne change rien dans les cellules ne reconnaissant pas le texte inclus entre les chiffres.
    Comment puis-je faire dans la déclaration de mes variables ?

    merci d'avance

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Première chose que je suis obligé de répéter (une dernière fois) : montre le code que tu as écrit dans VBE.
    Le code que tu présentes ici ne vient pas de VBE.

    Citation Envoyé par arsene122 Voir le message
    le code s'éxecute mais ne change rien dans les cellules ne reconnaissant pas le texte inclus entre les chiffres.
    Sans doute parce que le texte contenu dans tes cellules et celui de ton code ne concordent pas.

  7. #7
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Re,

    Ton code est correct je ne vois pas où est le problème. Toutefois, si tu as beaucoup d'options un Select Case me paraît mieux adapté. Et puis, pourquoi parcourir toutes les cellules de la colonne B ?
    Essaie comme ça :

    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
    Sub portf()
     
    Dim Cell As Range
    Dim DL As Long
    Dim VarTexte As String
     
    DL = Cells(Application.Rows.Count, "B").End(xlUp).Row
    For Each Cell In Range("B1:B" & DL)
        If Cell.Value <> "" Then
            VarTexte = Cell.Value
            Select Case VarTexte
                Case "9887LVE7"
                    Cell.Value = "cassandra"
                Case "9876HJB8"
                    Cell.Value = "paul"
            End Select
        End If
    Next Cell
    End Sub

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il aurait été plus judicieux de faire une copie du code que tu as tapé dans VBE étant donné que le code que tu présentes ici n'est visiblement pas passé par l'éditeur de VBA.

    Citation Envoyé par arsene122 Voir le message
    Mais j'ai un message d'erreur : erreur d'exécution 13 : Incompatibilité type
    Quel ligne de code est signalée par le débugage ?

    Au passage : tu as un End If en trop.
    Mais ce n'est certainement pas ce qui provoque une incompatibilité de type.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 10/10/2016, 11h32
  2. Erreur 13 : incompatibilité de type
    Par Donatelli dans le forum Access
    Réponses: 1
    Dernier message: 03/01/2007, 12h19
  3. Erreur requete en VBA
    Par temar dans le forum Access
    Réponses: 15
    Dernier message: 19/05/2006, 19h50
  4. [VBA-A] ADO - Erreur 13 Incompatibilité de Type
    Par db30 dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/04/2006, 14h30
  5. erreur inconnue en VBA
    Par rapace dans le forum Access
    Réponses: 3
    Dernier message: 06/10/2005, 14h42

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