Microsoft 365 Code Macro erreur d’exécution 1004, compilation,syntaxe

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

laplayast

XLDnaute Occasionnel
Bonjour,
erreur sur code macro; merci pour corriger si possible.

Sub Macro3()
' Macro3 Macro
Range( "C12:AM14,C16:AM18,C20:AM22,C24:AM26,C28:AM30,C32:AM34,C36:AM38,C40:AM42,C44:AM46,C48:AM50,C52:AM54,C56:AM58,C60:AM62,A64:AM66,A68:AM70,A72:AM74,A76:AM78,A80:AM82,A84:AM86,A88:AM90,A92:AM94,A96:AM98,A100:AM102,A104:AM106,A108:AM110,A112:AM114,A116:AM118,A120:AM122,A124:AM126,A128:AM130,A132:AM134,A136:AM138,A140:AM142,A144:AM146,A148:AM150,A152:AM154,A156:AM158,A160:AM162,A164:AM166").Select
Range("A164").Activate
End Sub
 
Bonjour,
erreur sur code macro; merci pour corriger si possible.

Sub Macro3()
' Macro3 Macro
Range( "C12:AM14,C16:AM18,C20:AM22,C24:AM26,C28:AM30,C32:AM34,C36:AM38,C40:AM42,C44:AM46,C48:AM50,C52:AM54,C56:AM58,C60:AM62,A64:AM66,A68:AM70,A72:AM74,A76:AM78,A80:AM82,A84:AM86,A88:AM90,A92:AM94,A96:AM98,A100:AM102,A104:AM106,A108:AM110,A112:AM114,A116:AM118,A120:AM122,A124:AM126,A128:AM130,A132:AM134,A136:AM138,A140:AM142,A144:AM146,A148:AM150,A152:AM154,A156:AM158,A160:AM162,A164:AM166").Select
Range("A164").Activate
End Sub
Bonsoir,
1. Merci d'utiliser le menu '</>' pour insérer du code, ça permet de le rendre plus lisible.
2. À quoi sert l'énorme .Select pour finalement activer la cellule A164 qui, elle devrait bénéficier d'un .Select ?
Cordialement,
 
bonjour,
n'étant pas un spécialiste de VB, j'ai enregistrer une macro qui me donne ce résultat(post1). Je veux sélectionner une ligne sur4 et cela jusqu’à la ligne 2000. Comment faire. j'ai ce code également:

Sub SelectionToutesLesQuatreLignes()
Dim ligne As Integer
For ligne = 1 To 2000 Step 4
Rows(ligne).Select
Next ligne
End Sub

merci pour l'aide
 
Re

La question est qu'est ce que tu fais après avoir sélectionné 1 ligne sur 4 ?
==> juste sélectionner 1 ligne sur 4 si rien après et bien cela sert toujours à rien ..... 🤔
Donc explique nous ce que tu veux faire exactement.

C'est un peu pour cela que l'on demande un fichier avec des explications !!!
 
Bonjour,
erreur sur code macro; merci pour corriger si possible.

Sub Macro3()
' Macro3 Macro
Range( "C12:AM14,C16:AM18,C20:AM22,C24:AM26,C28:AM30,C32:AM34,C36:AM38,C40:AM42,C44:AM46,C48:AM50,C52:AM54,C56:AM58,C60:AM62,A64:AM66,A68:AM70,A72:AM74,A76:AM78,A80:AM82,A84:AM86,A88:AM90,A92:AM94,A96:AM98,A100:AM102,A104:AM106,A108:AM110,A112:AM114,A116:AM118,A120:AM122,A124:AM126,A128:AM130,A132:AM134,A136:AM138,A140:AM142,A144:AM146,A148:AM150,A152:AM154,A156:AM158,A160:AM162,A164:AM166").Select
Range("A164").Activate
End Sub
Bonjour à tous,
Sauf erreur, il semblerait que la limite d'un range est de 255 caractères
Or la sélection en comporte 384
 
Dernière édition:
Bonjour à tous,

Selon l'aphorisme "diviser pour mieux régner" :
VB:
Sub Macro3()
Union(Range("C12:AM14,C16:AM18,C20:AM22,C24:AM26,C28:AM30,C32:AM34,C36:AM38,C40:AM42,C44:AM46,C48:AM50,C52:AM54,C56:AM58,C60:AM62"), _
Range("A64:AM66,A68:AM70,A72:AM74,A76:AM78,A80:AM82,A84:AM86,A88:AM90,A92:AM94,A96:AM98,A100:AM102,A104:AM106,A108:AM110"), _
Range("A112:AM114,A116:AM118,A120:AM122,A124:AM126,A128:AM130,A132:AM134,A136:AM138,A140:AM142,A144:AM146,A148:AM150"), _
Range("A152:AM154,A156:AM158,A160:AM162,A164:AM166")).Select
End Sub
 
Re

La question est qu'est ce que tu fais après avoir sélectionné 1 ligne sur 4 ?
==> juste sélectionner 1 ligne sur 4 si rien après et bien cela sert toujours à rien ..... 🤔
Donc explique nous ce que tu veux faire exactement.

C'est un peu pour cela que l'on demande un fichier avec des explications !!!
Bonjour,
L’intérêt c’est de pourvoir rendre ces lignes en écriture, et le reste est verrouillé. Donc protéger certaines cellules. Un code VBA (macro) me faciliterait cette sélection. C’est ce j’imagine.
Merci pour une aide.
 
Bonjour,
L’intérêt c’est de pourvoir rendre ces lignes en écriture, et le reste est verrouillé. Donc protéger certaines cellules. Un code VBA (macro) me faciliterait cette sélection. C’est ce j’imagine.
Merci pour une aide.
Bonjour,
Pour verrouiller ou déverrouiller(Locked), il est inutile de sélectionner.
Avec (l'emprunt 🤭 )de la proposition de mapomme (que je salue).
Le code ci-dessous autorise l'écriture dans la feuille sauf dans les différentes plages verrouillées.
Remplacer "Locked = False" par "Locked = True" et inversement, si cela doit être le contraire.
VB:
Sub Autorise()
    With Feuil1 'codename de la feuille en question.(A adapter)
        .Unprotect ' Déprotège la feuille
        .Cells.Locked = False 'Déverrouille toutes les cellules de la feuille
        Union(.Range("C12:AM14,C16:AM18,C20:AM22,C24:AM26,C28:AM30,C32:AM34,C36:AM38,C40:AM42,C44:AM46,C48:AM50,C52:AM54,C56:AM58,C60:AM62"), _
              .Range("A64:AM66,A68:AM70,A72:AM74,A76:AM78,A80:AM82,A84:AM86,A88:AM90,A92:AM94,A96:AM98,A100:AM102,A104:AM106,A108:AM110"), _
              .Range("A112:AM114,A116:AM118,A120:AM122,A124:AM126,A128:AM130,A132:AM134,A136:AM138,A140:AM142,A144:AM146,A148:AM150"), _
              .Range("A152:AM154,A156:AM158,A160:AM162,A164:AM166")).Locked = True 'Verrouille les cellules de ces plages
        .Protect ' protège la feuille sans mot de passe
    End With
End Sub
Il n'y a pas de vérification sur l'exactitude des plages dans cet exemple.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour