Copier/Coller de tableaux entre deux onglets

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:

liloucmoi

XLDnaute Occasionnel
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:

JulienG

XLDnaute Nouveau
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.
 

JulienG

XLDnaute Nouveau
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:

Pierrot93

XLDnaute Barbatruc
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

@+
 

JulienG

XLDnaute Nouveau
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!
 

Discussions similaires