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:
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:
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:
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:
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:
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…
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.