VBA : copier une cellule d'une feuille à une autre
Bonjour,
J'aimerais copier une cellule d'une feuille à une autre mais je n'y arrive pas. J'ai mes deux feuilles qui sont masquées c'est pourquoi j'ai écris ceci au début de mon code :
Application.EnableEvents = False
Sheets("REMPLIR CA").Visible = True
Sheets("REMPLIR CA").Select
Sheets("CA GLOBAL").Visible = True
Sheets("CA GLOBAL").Select
Sheets("REMPLIR CA").Select
Je travaille sur les feuilles REMPLIR CA et CA GLOBAL. J'ai une date inscrite dans la case N2 de REMPLIR CA et j'aimerais qu'à la date présente dans la colonne D de CA GLOBAL, coller la valeur présente sur REMPLIR CA.
Pour ce faire, il me faut récupérer le numéro de la ligne dans CA GLOBAL qui me cherche la date précise N2 de REMPLIR CA
voici mon code complet :
Application.EnableEvents = False
Sheets("REMPLIR CA").Visible = True
Sheets("REMPLIR CA").Select
Sheets("CA GLOBAL").Visible = True
Sheets("CA GLOBAL").Select
Sheets("REMPLIR CA").Select
Dim x As Date, cel As Range
Dim ligne As Integer
x = Sheets("REMPLIR CA").Range("N2").Value
Set cel = Sheets("CA GLOBAL").Range("D5:D5118").Find(x, lookat:=xlWhole)
Sheets("CA GLOBAL").Select
ligne = cel.Row
If Range("E11") = "" And Range("F11") = "" And Range("G11") = "" Then
Exit Sub
Else
If Range("E11") <> "" Then
With Sheets("REMPLIR CA")
.Activate
.Range("E11").Copy
End With
Sheets("CA GLOBAL").Select
Range("D" & ln).Offset(0, 1).Select
ActiveSheet.Paste
End If
End If
Application.EnableEvents = True
Mais à la ligne ligne = cel.row il me met un message d'erreur : erreur d'exécution 91 : variable objet ou variable bloc de with non définie
Pourtant ma variable est définie comme une integer juste au dessus, je ne comprends pas
J'accepterai volontier toute aide.
Merci d'avance
Cordialement
J'ai essayé de modifier mon code, mais il y a toujours le message d'erreur au moment où la macro est censée coller.
Sub CALS()
Dim WsDepart As Worksheet
Dim WsDestination As Worksheet
Dim x As Date
Set WsDestination = Sheets("CA GLOBAL")
Set WsDepart = Sheets("REMPLIR CA")
WsDepart.Visible = True
WsDepart.Select
If Range("E11") = "" And Range("F11") = "" And Range("G11") = "" Then
Exit Sub
Else
x = WsDepart.Range("N2").Value
Application.EnableEvents = False
WsDepart.Visible = True
WsDestination.Visible = True
If Range("E11") <> "" Then
WsDepart.Range("E11").Copy
WsDestination.Columns("D").Find(x).Offset(0, 1).PasteSpecial xlPasteValues
End If
End If
Application.EnableEvents = True
End Sub
Cordialement