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

Messages postés
8944
Date d'inscription
dimanche 19 janvier 2014
Dernière intervention
19 novembre 2018
- 22 août 2018 à 20:35 - Dernière réponse :
Messages postés
8944
Date d'inscription
dimanche 19 janvier 2014
Dernière intervention
19 novembre 2018
- 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 

Votre réponse

2 réponses

Messages postés
23303
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 novembre 2018
22 août 2018 à 22:59
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



Messages postés
8944
Date d'inscription
dimanche 19 janvier 2014
Dernière intervention
19 novembre 2018
- 23 août 2018 à 00:00
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.