Problème d'incompatibilité de type (erreur d'exécution 13)
bebette
-
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Polux31 Messages postés 6917 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonjour à tous.
J'ai été vachement aidé par un membre pour un code ! (je ne sais pas ce que j'aurai fait sans lui)
J'ai encore un petit soucis et j'ai essayé toute les solution que je connaissais, ça ne marche pas...
Je vous explique mon problème, j'ai un macro qui permet de copier des données des feuilles "Tools" "Consommables" "Revisable" vers la première feuille lorsque la reférence est identique
Sauf que j'ai plusieurs cas ou les références des 3 feuilles citées n'apparaissent pas dans la première feuille... du coup (enfin je pense que c'est pour ca) j'ai une erreur.
J'ai essayé en mettant un condition (if / else) mais l'erreur persiste...
Si quelqu'un à un idée je suis preneur !
Voici le code
Avec le débogage, j'ai l'erreur liée à cette ligne
N'hésitez pas a demander si je ne suis pas assez clair !
Merci d'avance
G.
Bonjour à tous.
J'ai été vachement aidé par un membre pour un code ! (je ne sais pas ce que j'aurai fait sans lui)
J'ai encore un petit soucis et j'ai essayé toute les solution que je connaissais, ça ne marche pas...
Je vous explique mon problème, j'ai un macro qui permet de copier des données des feuilles "Tools" "Consommables" "Revisable" vers la première feuille lorsque la reférence est identique
Sauf que j'ai plusieurs cas ou les références des 3 feuilles citées n'apparaissent pas dans la première feuille... du coup (enfin je pense que c'est pour ca) j'ai une erreur.
J'ai essayé en mettant un condition (if / else) mais l'erreur persiste...
Si quelqu'un à un idée je suis preneur !
Voici le code
Sub Recap() Dim C As Range, F, Dico As Object, Tabl1() As String, Tabl2() As Integer Dim Res As String, Txt, Ligne As Long, Ctr As Long Set Dico = CreateObject("Scripting.Dictionary") Ligne = 1 With Sheets("MPD_AMM") ReDim Tabl1(Application.CountA(.[E:E]) - 2) ReDim Tabl2(Application.CountA(.[E:E]) - 2, 2) Ctr = -1 For I = 2 To .Cells(.Rows.Count, 5).End(xlUp).Row If .Cells(I, 5) <> "" Then Ctr = Ctr + 1 Tabl1(Ctr) = .Cells(I, 5) End If Next I F = Array("Tools", "Consommables", "Revisables") .[E2:E2105].Clear .[R2:T2105].Clear End With For I = 0 To 2 With Sheets(F(I)) For Each C In .Range(.[B2], .Cells(.Rows.Count, 2).End(xlUp)) If C.Offset(, -1) <> "" Then Res = C.Offset(, -1) End If If Not Dico.exists(Res & "***" & I + 1 & "***" & C.Value) Then Dico.Add Res & "***" & I + 1 & "***" & C.Value, Res & "***" & I + 1 & "***" & C.Value End If Next C End With Next I With Sheets("MPD_AMM") For Each Item In Dico.items Txt = Split(Item, "***") lig = Application.Match(Txt(0), Tabl1, 0) - 1 Tabl2(lig, CInt(Txt(1)) - 1) = Tabl2(lig, CInt(Txt(1)) - 1) + 1 Next Item For I = 0 To UBound(Tabl1) lig = 0 For x = 0 To UBound(Tabl2, 2) If Tabl2(I, x) > lig Then lig = Tabl2(I, x) Next x For x = 1 To lig Ligne = Ligne + 1 .Cells(Ligne, 5) = Tabl1(I) Next x Next I For Each Item In Dico.items For I = 2 To .Cells(.Rows.Count, 5).End(xlUp).Row Txt = Split(Item, "***") If .Cells(I, 5) = Txt(0) And .Cells(I, 17).Offset(, CInt(Txt(1))) = "" Then .Cells(I, 17).Offset(, CInt(Txt(1))) = Txt(2) Exit For End If Next I Next Item With .[E1].CurrentRegion .Borders.LineStyle = xlContinuous .BorderAround xlContinuous, xlThin, xlColorIndexAutomatic End With With .[E1].CurrentRegion.Offset(, 13).Resize(, 3) .Borders.LineStyle = xlContinuous .BorderAround xlContinuous, xlThin, xlColorIndexAutomatic End With Res = "E2" Application.DisplayAlerts = False For I = 2 To .Cells(.Rows.Count, 5).End(xlUp).Row If .Cells(I, 5) <> .Range(Res) Then .Range(.Cells(I, 5).Offset(-1), Range(Res)).Merge Res = .Cells(I, 5).Address End If If I = .Cells(.Rows.Count, 5).End(xlUp).Row Then .Range(.Cells(I, 5), Range(Res)).Merge End If Next I .Range(.[E2], .Cells(.Rows.Count, 5).End(xlUp)).VerticalAlignment = xlCenter Application.DisplayAlerts = True End With End Sub
Avec le débogage, j'ai l'erreur liée à cette ligne
lig = Application.Match(Txt(0), Tabl1, 0) - 1
N'hésitez pas a demander si je ne suis pas assez clair !
Merci d'avance
G.
A voir également:
- Problème d'incompatibilité de type (erreur d'exécution 13)
- Fifa 13 - Télécharger - Jeux vidéo
- Erreur 3005 france tv - Forum TV & Vidéo
- Test redmi note 13 5g - Accueil - Téléphones
- Type de ram - Guide
- Iptv erreur de lecture - Forum TV & Vidéo