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 incompatibilité de type


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut Erreur incompatibilité de type
    Bonjour j ai simplifié mon code au maximum pour comprendre ou se situait mon problème, le voici :
    En vulgarisant, je voudrais que pour chaque cellule de la colonne r, si la cellule est égale à 5 par exemple qu'elle prenne la valeur 4.
    J'ai les message d'erreur suivant : "Erreur '13' incompatibilité de type", je débuté sur VBA, veuillez m'excuser ^^'
    Merci d'avance pour vos réponses

    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
    Sub marine()
     
    Dim r As Integer
    Dim cellule As Range
     
    Cells(4, 5).Select
    r = ActiveCell.Row
    MsgBox (r)
    Workbooks("blabla.xlsm").Sheets("Feuil2").Cells(r, r).Value = r
    For Each cellule In Columns(r)
    If cellule.Value = 5 Then
    cellule.Value = 4
    End If
    Next
     
    End Sub

  2. #2
    Membre émérite
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Par défaut
    Bonjour

    peut être en remplaçant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each cellule In Columns(r)
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each cellule In Columns(r).Cells
    Bonne journée.

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    1) Ton incompatibilité de type résulte de ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each cellule In Columns(r)
    In Columns(r).quoi ?
    (quoi, ce sont des cellules, non ?) --->> In columns(r).Cells
    2) Parcourir la totalité des cellules d'une colonne est peu sage. Il ne faut pas parcourir inutilement au delà de la dernière ligne remplie .
    3) A quoi t'est utile de sélectionner ainsi la cellule E4 :
    Cells(4, 5).Select
    Pour ... en déterminer le N° de ligne ? Tu le connais ! C'est 4 !
    et du coup :
    r = 4
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("blabla.xlsm").Sheets("Feuil2").Cells(r, r).Value = r
    n'est finalement rien d'autre que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("blabla.xlsm").Sheets("Feuil2").Cells(4, 4).Value =4
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("blabla.xlsm").Sheets("Feuil2")Range("D4").Value =4
    Mais tout cela devient totalement inutile, dès lors que ce que tu veux finalement faire est donner la valeur 4 aux cellules de la colonne 4 qui contiendraient la valeur 5 !

    Ouvre donc vite ton aide interne VBA à la rubrique Range.Replace, méthode, lis et applique ! Nul besoin de tout ton code !

  4. #4
    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
    Citation Envoyé par zyzzz Voir le message
    J'ai les message d'erreur suivant : "Erreur '13' incompatibilité de type"
    Sur quelle ligne ?

  5. #5
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 8
    Par défaut
    Merci pour la rapidité de votre réponse,
    effectivement en mentionnant .Cells c'est tout de suite plus logique.
    Unparia le code que j'ai mentionné n'a en effet aucune logique, c'était simplement pour simplifier mon post.
    Merci à vous

Discussions similaires

  1. [AC-2010] Erreur "incompatibilité de type"
    Par oreoolep dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/12/2011, 22h29
  2. Erreur incompatibilité de type au lancement formulaire
    Par koluche dans le forum VBA Access
    Réponses: 0
    Dernier message: 05/05/2011, 15h59
  3. Erreur "incompatibilité de type" lors import dans table Access
    Par spud96 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/01/2011, 22h40
  4. erreur incompatibilité de type
    Par prince19 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/06/2007, 12h43
  5. [VBA E]erreur incompatibilité de type que je ne comprend pas
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/07/2006, 15h14

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