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 :

Création d'une macro mais erreur


Sujet :

Macros et VBA Excel

  1. #1
    Inscrit
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 87
    Points
    87
    Par défaut Création d'une macro mais erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sheets("21)Contrôle").Select
        Range("B11").Select
        ActiveSheet.Paste
        Range("B11").Select
    J'ai une erreur ici pourtant j'ai fais sa avec l'enregistreur de macro. L'erreur ce trouve à la deuxieme ligne et l'erreur dit : "la méthode select de la classe range a échoué."

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Mets nous plus de code (la copie avant le collage) On ne peut pas sélectionner une cellule avant le Paste. Et en outre on n'utilise jamais de select qui ralentissent et allourdissent le code.
    Montre-nous tout ça et on va t'arranger le coup
    A+

  3. #3
    Inscrit
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 87
    Points
    87
    Par défaut
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
       ActiveSheet.Unprotect
        ActiveWindow.ScrollWorkbookTabs Position:=xlLast
        Sheets("21)Contrôle").Select
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        ActiveSheet.Unprotect
        ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
        Sheets("1)Dressage").Select
        Range("D8:D16").Select
        Selection.Copy
        ActiveWindow.ScrollWorkbookTabs Position:=xlLast
        Sheets("21)Contrôle").Select
        Range("B10").Select
        ActiveSheet.Paste
        Range("B10").Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=True
        Range("B11:B19").Select
        Application.CutCopyMode = False
        Selection.ClearContents
        Range("B10:J18").Select
        Range("B18").Activate
        Selection.Interior.ColorIndex = xlNone
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        Selection.Borders(xlEdgeRight).LineStyle = xlNone
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Range("B10:J10").Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        Range("E11").Select
        ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
        Sheets("1)Dressage").Select
        Range("D18:D25").Select
        Selection.Copy
        ActiveWindow.ScrollWorkbookTabs Position:=xlLast
        Sheets("21)Contrôle").Select
        Range("K10").Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=True
        Selection.Interior.ColorIndex = xlNone
        Range("L19").Select
        ActiveWindow.ScrollColumn = 2
        ActiveWindow.ScrollColumn = 3
        ActiveWindow.ScrollColumn = 4
        ActiveWindow.ScrollColumn = 5
        Columns("Q:Q").ColumnWidth = 0.08
        Range("B10:J10").Select
        Range("J10").Activate
        Selection.Font.Bold = False
        Columns("A:R").Select
        Selection.ColumnWidth = 8
        Selection.ColumnWidth = 6
        Range("P13").Select
        Rows("9:9").RowHeight = 59.25
        Rows("9:9").RowHeight = 69
        Rows("9:9").RowHeight = 85.5
        ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
        Rows("9:9").RowHeight = 17.25
        Range("Q10").Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        Selection.Borders(xlEdgeLeft).LineStyle = xlNone
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        Selection.Borders(xlEdgeRight).LineStyle = xlNone
        Selection.Borders(xlInsideVertical).LineStyle = xlNone
        Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
        Range("Q10").Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        Selection.Borders(xlEdgeTop).LineStyle = xlNone
        Selection.Borders(xlEdgeBottom).LineStyle = xlNone
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThin
            .ColorIndex = xlAutomatic
        End With
        Range("R10").Select
        Selection.Borders(xlDiagonalDown).LineStyle = xlNone
        Selection.Borders(xlDiagonalUp).LineStyle = xlNone
        With Selection.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .Weight = xlThick
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .Weight = xlThick
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .Weight = xlThick
            .ColorIndex = xlAutomatic
        End With
        With Selection.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .Weight = xlThick
            .ColorIndex = xlAutomatic
        End With
        Range("S28").Select
        ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
        Sheets("1)Dressage").Select
        Range("E8").Select
    Voila

  4. #4
    Inscrit
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 87
    Points
    87
    Par défaut
    J'aimerai que la case selectionner pour collez soit la derniere case non utilisé??

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Déjà, ces lignes ne servent à rien
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
    Sheets("21)Contrôle").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.Unprotect
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Ensuite, tu peux remplacer ça
    Sheets("1)Dressage").Select
    Range("D8 : D16").Select
    Selection.Copy
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Sheets("1)Dressage").Range("D8:D16").Copy
    Les lignes suivantes
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
    Sheets("21)Contrôle").Select
    Range("B10").Select
    ActiveSheet.Paste
    Range("B10").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True
    Peuvent être remplacées par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Sheets("21)Contrôle").Range("B10").Paste:=xlPasteAll, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=True
    Ensuite, tu peux remplacer
    Range("B11:B19").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("B11:B19").ClearContents
    Après, je ne comprends pas ce que tu veux faire. Supprimer le quadrillage, ok, mais sur quelles cellules ? Et que vient faire ce "Range("B18").Activate" ?
    Enfin, pour répondre à
    J'aimerai que la case selectionner pour collez soit la derniere case non utilisé??
    ... il serait temps que tu te poses la question
    Regarde , tu as différentes syntaxes. Lis bien les explications, les cas d'utilisation diffèrent vraiment.

  6. #6
    Inscrit
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 87
    Points
    87
    Par défaut
    Sheets("21)Contrôle").Range("B10").Paste:=xlPasteAll, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=True
    Il me dit qu'il y a une erreur de syntaxe dans ce passage la

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Oui, je n'ai pas vérifié la syntaxe de ton collage spécial. Corrige :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Sheets("21)Contrôle").Range("B10").PasteSpecial Paste:=xlPasteAll, _
        SkipBlanks:=False, Transpose:=True
    A+

  8. #8
    Inscrit
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 87
    Points
    87
    Par défaut
    oki derniere question pour savoir la dernière ligne j'ai fais ceci, mais il ne m'affiche pas du tout la derniere ligne, j'ai que 12 ligne d'utilisée lui me renvoie 18...D'ou peut venir ce probleme... Voila le mini code mdr :
    derniereligne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
    MsgBox derniereligne

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Relis l'explication que j'en donne dans l'url que je t'ai donnée
    (Là, j'ai plus le tps)

  10. #10
    Inscrit
    Inscrit en
    Octobre 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 430
    Points : 87
    Points
    87
    Par défaut
    ENfaite je veux savoir la premiere lignes vides

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Très dur en effet, puisqu'il faut ajouter 1 à DerniereLigne

Discussions similaires

  1. création d'une macro en word et excel
    Par trabin dans le forum VBA Word
    Réponses: 10
    Dernier message: 04/04/2008, 19h37
  2. Création d'une macro avec un paramètre
    Par jacklafrip dans le forum C
    Réponses: 4
    Dernier message: 19/02/2008, 21h35
  3. Création d'une macro sur bouton
    Par guenfood dans le forum IHM
    Réponses: 1
    Dernier message: 13/12/2007, 17h06
  4. Création d'une macro qui remplira un agenda
    Par Cyriusix dans le forum VBA Word
    Réponses: 21
    Dernier message: 07/12/2007, 11h28
  5. {EXCEL ou VBA}Création d'une macro (Débutant)
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/05/2007, 15h32

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