Erreur de type 13

Résolu/Fermé
CECILEB79 Messages postés 3 Date d'inscription jeudi 28 mai 2020 Statut Membre Dernière intervention 29 mai 2020 - Modifié le 28 mai 2020 à 18:16
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 29 mai 2020 à 11:55
Bonjour,

Je débute en vba et je ne comprends pas pourquoi j'ai une erreur d'execution 13 : incompatibilité de type... Je mets en gras la ligne où il y a l'erreur :

Option Explicit

'Déclaration des variables'
Dim i As Integer, j As Integer
Dim onglet As Variant
Dim DerniereLigne As Integer
Dim LastRowConsolidation As Integer
'Procédure permettant d'effacer toutes les données de la feuille RECAP'

Sub EffaceDonnees()

    Worksheets("RECAP").Select
    Rows("10:1000000").Select
    Selection.Clear
    Range("A2").Select
 
End Sub

'Procédure permettant la consolidation des feuilles'

Sub Consolider()

    Application.ScreenUpdating = False
    EffaceDonnees
    
    'Boucle permettant de lire toutes les feuilles à consolider'
    For j = 1 To 7 'Parcours les feuilles de chaque communauté'
        onglet = Choose(j, "Accompagnateurs", "Eclaireurs", "Facilitateurs", "Experienceurs", "Transformateurs")
        <bold>Sheets(onglet).Select</bold>
        DerniereLigne = Range("A1000000").End(xlUp).Row
        
        For i = 10 To DerniereLigne
            Sheets(onglet).Select
            Rows(i).Select
            Selection.Copy
            Sheets("RECAP").Select
            LastRowConsolidation = Range("A1000000").End(xlUp).Row + 1
            Cells(LastRowConsolidation, 1).Select
            ActiveSheet.Paste
            Application.CutCopyMode = False
            
        Next i
        
    Next j
    
    Application.ScreenUpdating = True
    MsgBox "La consolidation est terminée", vbOKOnly + vbInformation, "Information"

End Sub



Ce qui est bizarre c'est qu'il fait le code correctement puisque toutes lignes concernées sont copiées et collées dans la récap....

Merci par avance pour votre aide !

Message modifié par la modération
Pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE
A voir également:

3 réponses

f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 709
Modifié le 28 mai 2020 à 19:05
Bonjour,

c'est ecrit ici, facile..

 For j = 1 To 7 'Parcours les feuilles de chaque communauté'
        onglet = Choose(j, "Accompagnateurs", "Eclaireurs", "Facilitateurs", "Experienceurs", "Transformateurs")
    
1
CECILEB79 Messages postés 3 Date d'inscription jeudi 28 mai 2020 Statut Membre Dernière intervention 29 mai 2020
29 mai 2020 à 07:51
C'était logique effectivement.... Merci beaucoup en tout cas !
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 426
28 mai 2020 à 22:16
Bonjour à tous les deux

Pour aller un peu plus loin que notre ami f894009, tu n'as que 5 valeurs dans ta liste des noms d'onglets et j va de 1 à 7, donc à partir de j = 6 ....

Cdlmnt
1
CECILEB79 Messages postés 3 Date d'inscription jeudi 28 mai 2020 Statut Membre Dernière intervention 29 mai 2020
Modifié le 29 mai 2020 à 07:50
J'aurai du le voir.... Effectivement j'ai supprimé des onglets sans changer cette variable... J'ai bcp à apprendre encore ! merci encore en tout cas !
0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 426
29 mai 2020 à 11:55
De rien

Si c'est fini, peux tu mettre le sujet à résolu (en haut dans ton premier message)

Bonne journée
0