Code simple qui ne marche pas

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 !

Jacques25

XLDnaute Occasionnel
Bonjour à tous,

Je rencontre un problème avec une macro. Elle est très simple dans son fonctionnement mais elle ne fait pas ce que je lui demande.

J'ai 2 fichiers ouverts Fichier A et Fichier 1
Au début je suis dans le Fichier A, je presse sur un bouton qui :
- efface 2 colonnes
- bascule sur l'onglet 1 du fichier 1
- passe en calcul manuel et enlève la protection
- doit venir copier les cellules C3 à DXX (XX étant la dernière ligne pleine)


Voici déjà le début du code jusqu'au premier disfonctionnement :

Private Sub CommandButton1_Click()

Columns("M:N").ClearContents

Windows("fichier1.xls").Activate
Sheets("onglet1").Select

With Application
.Calculation = xlManual
End With

Sheets("onglet1").Unprotect Password:="toto"

' les 3 lignes ci dessous ne marchaient pas j'ai voulu poursuivre sans elles
'Range("A2:AD500").Sort Key1:=Range("C2"), Order1:=xlAscending, Header:= _
'xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
'DataOption1:=xlSortNormal

dl = Range("D5000").End(xlUp).Row

Range("C3😀" & dl).copy

Les cellules C3 à DXX (XX étant dl) de l'onglet 1 devraient être copiées et elles ne le sont pas, il copie les cellules C3 à DXX de mon fichier de départ.
Avez vous une explication à mon problème?

En pas à pas avec des stops je n'ai pas eu de soucis... Je n'y comprend rien.

Merci pour aide.
Jacques
 
Re : Code simple qui ne marche pas

Bonjour Bruno,

Je viens de faire l'essai mais ça ne change rien.
J'ai essayé avec Windows("fichier1.xls").select au lieu de activate mais j'ai une erreur.
J'ai essayé avec Worbooks au lieu de Windows mais ça ne change rien.

Je sais plus quoi essayer.
 
Re : Code simple qui ne marche pas

Voici qui fonctionne
Vérifie la ligne copie j'ai mis C3😀 & dl
Bruno
Code:
Private Sub CommandButton1_Click()
 Columns("M:N").ClearContents
  Workbooks("fichier1.xls").Activate
With Workbooks("fichier1.xls").Sheets("onglet1")
 .Select
Application.Calculation = xlManual
.Unprotect "toto"
 .Range("A2:AD500").Sort Key1:=.Range("C2"), Order1:=xlAscending, Header:= _
 xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
 DataOption1:=xlSortNormal
dl = .Range("D5000").End(xlUp).Row
.Range("C3:D" & dl).Copy
'[A1].PasteSpecial
 End With
End Sub
 
- 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

Discussions similaires

Réponses
2
Affichages
514
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
447
Réponses
4
Affichages
550
Retour