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 :

PROBLEME "d'incompatibilité de type" [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut PROBLEME "d'incompatibilité de type"
    Bonjour ,
    Tout d’abord je tiens à préciser que Je ne suis pas un confirmé en programmation.
    Voici mon problème que j’ai tenté de résoudre après des heures de recherches mais en vain.
    j`ai une base de données (feuille1) et des nouvelles informations (feuille2).

    Je souhaiterais comparer ce que j`ai dans ma nouvelle feuille par rapport à ce qui est déjà présent dans la base de données.

    Ce qui est commun à la feuille 1 et 2, est, ou sont, supprimé(s) dans la feuille 2.
    Or lorsque je saisie les données au clavier dans la plage « x3 :aa20 » tout fonctionne comme je le souhaite. (Grâce à la macro de "MERCATOG")

    Mais lorsque je (fais copier/coller par macro) les données saisies en « AE3 » et triées en « x3 :aa70082) j’ai un message d’erreur. (Incompatiliblité de type" ?)
    Qui pourrait m’ expliquer pourquoi et le cas échéant remédier au problème ?
    Par avance merci.

    voici ma macro :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub TriHorizontalSELECTIONAlain()
     
    Dim PlgALAIN As Range
     
    With Worksheets("Feuil1")
    Set PlgALAIN = .Range("x3:Aa782").Resize(, 4)
    End With
     
    Application.ScreenUpdating = False
     
    TriHorizontalALAIN PlgALAIN
     
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub TriHorizontalALAIN(Rg As Range)
     
    Application.EnableEvents = False
    'Application.Calculation = xlCalculationManual
    For Each r In Rg.Rows
    r.Sort Key1:=r.Cells(1, 1), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight
    Next
    'Application.Calculation = xlCalculationManual
    Application.EnableEvents = True
     
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub RANGEBasedonnees()
     
    Dim RES
    RES = Sheets("feuil1").Range("q3:t1000").Value
    Sheets("feuil1").Range("A1:D1000").Value = RES
     
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub RANGESELEC()
     
    Dim BD
     BD = Sheets("feuil1").Range("x3:aa782").Value
    Sheets("feuil2").Range("A1:D782").Value = BD
     
    End Sub

    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
    22
    Sub compare() 'dont l'auteur est MERCATOG avec mes remerciements !!
     
    Dim LastLig1 As Long, LastLig2 As Long, i As Long
     
    Dim c As Range
     
    Application.ScreenUpdating = False
    LastLig1 = Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row
    With Sheets("Feuil2")
        LastLig2 = .Cells(Rows.Count, 1).End(xlUp).Row
        For i = LastLig2 To 1 Step -1
            'On Error Resume Next
            Set c = Sheets("Feuil1").Range("A1:A" & LastLig1).Find(.Range("A" & i).Value, lookat:=xlWhole)
            If Not c Is Nothing Then
                .Rows(i).Delete
                LastLig2 = LastLig2 - 1
                Set c = Nothing
            End If
        Next i
        If LastLig2 > 0 Then .Range("A1:L" & LastLig2).Copy Sheets("Feuil1").Range("A" & LastLig1 + 1)
    End With
    End Sub
    PS : « 'On Error Resume Next » n’y fait rien non plus…

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir
    Mets plutôt ton code au lieu du fichier dès le départ et essaies d'expliquer clairement.
    Tu consens qu'une question claire aura plus de chance d'avoir des réponses précises.

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut Problème d'incompatibilité de type.
    Bonsoir,
    Oups ! Désolé je n'ai lu qu'après coup les conseils relatifs aux fichier joints.
    Je remédie.
    merci de m'avoir lu.

    Cordialement.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Sur quelle ligne tu as l'erreur?

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Par défaut
    sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set c = Sheets("Feuil1").Range("A1:A" & LastLig1).Find(.Range("A" & i).Value, lookat:=xlWhole)
    ???

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Peut être à ce stade, le fichier est déjà nécessaire (sans donnée confidentielles avec ré explication du problème)

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

Discussions similaires

  1. probleme incompatibiliter de type
    Par popofpopof dans le forum VBA Access
    Réponses: 7
    Dernier message: 04/06/2007, 22h25

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