Excel VBA fonctionne parfois, mais pas toujours [Résolu]

Messages postés
10665
Date d'inscription
dimanche 19 janvier 2014
Statut
Membre
Dernière intervention
15 octobre 2019
- - Dernière réponse : hoquei44
Messages postés
10665
Date d'inscription
dimanche 19 janvier 2014
Statut
Membre
Dernière intervention
15 octobre 2019
- 23 août 2018 à 00:00
Bonjour à tous,

Voici tout d'abord le passage en VBA qui me pose problème, dans mon classeur qui comporte deux feuilles (Cacul et Garde) :

' Remplissage du tableau
For tour = 1 To X
If Sheets("Calcul").Cells(1, X - tour + 1) <> "" Then
        Sheets("Garde").Range("A2:A" & X + 1).Copy
        Sheets("Calcul").Cells(2, X - tour + 1).Select
        Sheets("Calcul").Paste
        Application.CutCopyMode = False
End If
Next


Lorsque j’exécute cette (portion de ma) macro alors que je suis sur la page "Calcul", je ne rencontre aucun soucis.

Cependant si je la lance alors que je suis sur la page "Garde", alors j'obtiens l'erreur d'exécution 1004. La méthode Select de la classe Range a échoué.
Le curseur jaune s'arrête sur la ligne suivante :
        Sheets("Calcul").Cells(2, X - tour + 1).Select


J'ai tenté de "trifouiller" quelques modifications, mais je n'ai rien trouvé de probant.

Merci par avance de l'aide que vous pourrez m'apporter.
Afficher la suite 

1 réponse

Messages postés
26513
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 octobre 2019
316
0
Merci
Bonjour,

Tu peux tester ça :

Dim shGarde as WorkSheet
Dim shCalcul as WorkSheet
Set shGarde = Sheets("Garde")
Set shCalcul = Sheets("Calcul")
For tour = 1 To X
If shCalcul .Cells(1, X - tour + 1) <> "" Then
        shGarde.Select
        shGarde .Range("A2:A" & X + 1).Copy
        shCalcul .Select
        shCalcul .Cells(2, X - tour + 1).Select
        shCalcul .Paste
        Application.CutCopyMode = False
End If
Next



hoquei44
Messages postés
10665
Date d'inscription
dimanche 19 janvier 2014
Statut
Membre
Dernière intervention
15 octobre 2019
-
Parfait avec les select.

J'ai même eu en prime une réponse à une question que je n'ai pas posé :
Je note la technique du Set pour simplifier les noms de feuilles.

Merci
Commenter la réponse de jordane45