Copier/Coller de tableaux entre deux onglets

  • Initiateur de la discussion Initiateur de la discussion JulienG
  • Date de début Date de début

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 !

JulienG

XLDnaute Nouveau
Correction de code VBA: Copier/Coller de tableaux entre deux onglets

Bonjour,
Dans une feuille de présence, je désire effectuer un copier/coller entre une plage variable (selon les employé et le mois) et une plage fixe (qui fait office de formulaire). Je désire éviter l'utilisation de ".select" qui alourdissent la procédure.

Je me suis donc mis au travail, mais étant relativement débutant dans VBA, là je bloque...

Voici mon code:
Code:
Public Sub Sélection_Tableau()
Dim Employé As Integer
Dim Nb As Integer

[COLOR="Green"]Je définis mes variables, à priori aucun problème de ce côté là[/COLOR]
Employé = Sheets("Présences").Range("C3").Value + 4
Nb = 1 + ((Sheets("Présences").Range("C4").Value - 1) * 22)

[COLOR="Green"]Voici la ligne qui pose problème, Excel me renvoyant l'erreur '1004' Erreur définie par l'application ou par l'objet[/COLOR]
Sheets("Présences").Range("A6:AH27").Value = Sheets(Employé).Range(Cells(Nb, 1), Cells(Nb + 21, 34)).Value

End Sub
Une bonne âme pourrait-elle me dépanner, merci🙂
 
Dernière édition:
Re : Copier/Coller de tableaux entre deux onglets

Bonjour

Je ne suis pas non plus très avancé en Vba, mais :
Sheets("Présences").Range("A6:AH27").Value = Sheets(Employé).Range(Cells(Nb, 1), Cells(Nb + 21, 34)).Value

ici j'aurai bien mis des ".

Cordialement.
 
Dernière édition:
Re : Copier/Coller de tableaux entre deux onglets

Merci d'avoir étudié mon problème.

Je ne pense pas que le problème soit là car Employé est une variable qui renvoie un nombre (Integer). L'expression Sheets(2) par exemple, me semble correct.
 
Re : Copier/Coller de tableaux entre deux onglets

Les dimensions sont en ordre... j'ai vérifié.

En décomposant, il semblerait plutôt que l'appellation Sheets(). pose problème:

Sheets("Présences").Range("A6:AH27").Value = Sheets(Employé).Range(Cells(Nb, 1), Cells(Nb + 21, 34)).Value

tant que Employé=1 (la feuille "Présences") c'est en ordre, mais dès que Employé fait référence à une autre feuille, ça coince.
 
Dernière édition:
Re : Copier/Coller de tableaux entre deux onglets

Re,

évite peut être l'accentuation lors de la déclaration des variables, préfère :
Code:
Employe
à
Code:
Employé
dans certains cas vba n'aime pas trop...

modifie peut être ainsi, mais sans les accents.. :

Code:
Sheets("Présences").Range("A6:AH27").Value = Sheets(Employé).Range(Sheets(Employé).Cells(Nb, 1), Sheets(Employé).Cells(Nb + 21, 34)).Value

@+
 
Re : Copier/Coller de tableaux entre deux onglets

Dans le mille!

En fait, il y avait bien deux problème:
Sheets() devait bien être spécifier à nouveau avant Cells() et l'accent dans la variable Employé (ça m'apprendra à compliquer :S).

Merci beaucoup!
 
- 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
5
Affichages
240
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Retour