VBA EXCEL copier jusqu'a la fin du fichier
Résolu
Fou_Du_Guidon
Messages postés
320
Date d'inscription
Statut
Membre
Dernière intervention
-
xav3601 Messages postés 3289 Date d'inscription Statut Membre Dernière intervention -
xav3601 Messages postés 3289 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je repost içi je pense que c'est plus approprier :-)
J'ai un petit souci avec EXCEL, je voudrai automatiser des actions avant la fermeture (beforeclose) car mes utilisateurs ne sont pas trés pousser niveau informatique donc faut les aider au maximum...Donc il faut que sa copie le contenu de 4 colonnes jusqu'à la fin de la feuille. J'ai trois colonnes de formules et une de date si on pouvait même faire une textbox qui demanderai la date et qui la copierai jusqu'à la fin sa sera cool mais ce n'est pas le principal. Donc voila je demande votre aide et je vous remercis d'avance.
J'ai un petit souci avec EXCEL, je voudrai automatiser des actions avant la fermeture (beforeclose) car mes utilisateurs ne sont pas trés pousser niveau informatique donc faut les aider au maximum...Donc il faut que sa copie le contenu de 4 colonnes jusqu'à la fin de la feuille. J'ai trois colonnes de formules et une de date si on pouvait même faire une textbox qui demanderai la date et qui la copierai jusqu'à la fin sa sera cool mais ce n'est pas le principal. Donc voila je demande votre aide et je vous remercis d'avance.
A voir également:
- VBA EXCEL copier jusqu'a la fin du fichier
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
60 réponses
>< oops j'ai donc mis le chiffre, rajouter l'heure mais j'ai toutjours un erreur de compilation sur la ligne
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim letemps As Time
letemps = Time ' heure du système.
Dim ladate As Date
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
Range("X1").Select
Selection.End(xlDown).Select 'dernière ligne pleine
ActiveCell.Offset(1, 0).Select ' ligne suivante ou première ligne vide
' il ne doit pas y avoir de "vide dans les dates"
ladate = ladate & "_" & letemps
ActiveCell.Value = ladate
introw = 1
Do Until ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw) = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw) = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw) = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw) = "=SI(NBCAR(F2)<8;"Non Référencé";SI(DROITE(F2;6)="000000";"Non Référencé";F2))"
introw = introw + 1
Loop
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim letemps As Time
letemps = Time ' heure du système.
Dim ladate As Date
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
Range("X1").Select
Selection.End(xlDown).Select 'dernière ligne pleine
ActiveCell.Offset(1, 0).Select ' ligne suivante ou première ligne vide
' il ne doit pas y avoir de "vide dans les dates"
ladate = ladate & "_" & letemps
ActiveCell.Value = ladate
introw = 1
Do Until ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw) = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw) = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw) = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw) = "=SI(NBCAR(F2)<8;"Non Référencé";SI(DROITE(F2;6)="000000";"Non Référencé";F2))"
introw = introw + 1
Loop
End Sub
Donc sa vient bien de la formule et mais en recompilant une autre apparait sur la ligne Dim letemps As Time avec type définie par l'utili.. non définie :-/
YEAHHHH sa fonctionne!!!!...presque:-( . Sa fonctionne juste pour la date. Les 3 formules ne sont pas copier..
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OULA toutes les cellules sont remplies avec la date et l'heure quand je dit toutes c'est toutes 65355 et quelque lignes, toutes les colonnes...
J'avoue j'ai sourie et j'étais content lorsque le traitement à commencer , mais j'ai vite déchanté ^^
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
Range("X1").Select
Selection.End(xlDown).Select 'dernière ligne pleine
ActiveCell.Offset(1, 0).Select ' ligne suivante ou première ligne vide
' il ne doit pas y avoir de "vide dans les dates"
ladate = ladate & "_" & letemps
ActiveCell.Value = ladate
introw = 1
Do Until ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw) = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw) = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw) = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw) = "test"
introw = introw + 1
Loop
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
Range("X1").Select
Selection.End(xlDown).Select 'dernière ligne pleine
ActiveCell.Offset(1, 0).Select ' ligne suivante ou première ligne vide
' il ne doit pas y avoir de "vide dans les dates"
ladate = ladate & "_" & letemps
ActiveCell.Value = ladate
introw = 1
Do Until ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw) = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw) = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw) = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw) = "test"
introw = introw + 1
Loop
End Sub
Essaye ce code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
ladate = ladate & "_" & letemps
introw = 1
Do Until ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw) = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw) = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw) = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw) = "test"
introw = introw + 1
Loop
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
ladate = ladate & "_" & letemps
introw = 1
Do Until ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw) = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw) = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw) = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw) = "test"
introw = introw + 1
Loop
End Sub
Rien ne se passe...
Essaye ce code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
ladate = ladate & "_" & letemps
introw = 1
Do Until ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw).value = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw).value = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw).value = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw).value = "test"
introw = introw + 1
Loop
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
ladate = ladate & "_" & letemps
introw = 1
Do Until ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw).value = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw).value = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw).value = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw).value = "test"
introw = introw + 1
Loop
End Sub
Il y a la Box qui s'affiche puis un petit coup de sablier et pis c'est tout. Je vois pas comment exécuter en pas à pas.
Il faudrai que je sauvegarde ma macro dans se cas. Comment faire je n'arrive pas à sauvegarder de macro dans le Workbook.
Je suis con xD
Comme ca ca marche:
Private Sub macro()
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
ladate = ladate & "_" & letemps
introw = 1
Do Until ActiveSheet.Cells(introw, 1).Value = ""
ActiveSheet.Cells(introw, 23) = "test"
ActiveSheet.Cells(introw, 24) = "test"
ActiveSheet.Cells(introw, 25) = "test"
ActiveSheet.Cells(introw, 34) = "test"
introw = introw + 1
Loop
End Sub
Comme ca ca marche:
Private Sub macro()
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
ladate = ladate & "_" & letemps
introw = 1
Do Until ActiveSheet.Cells(introw, 1).Value = ""
ActiveSheet.Cells(introw, 23) = "test"
ActiveSheet.Cells(introw, 24) = "test"
ActiveSheet.Cells(introw, 25) = "test"
ActiveSheet.Cells(introw, 34) = "test"
introw = introw + 1
Loop
End Sub
essaye ça !Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
ladate = ladate & "_" & letemps
introw = 1
While ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw).Value = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw).Value = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw).Value = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw).Value = "test"
introw = introw + 1
Wend
end sub
letemps = Time ' heure du système.
ladate = Format(InputBox("Donner la date et l'heure SVP...", "Saisie de la date", Date), "dd/mm/yyyy")
ladate = ladate & "_" & letemps
introw = 1
While ActiveSheet.Cells(1, introw) <> ""
ActiveSheet.Cells(23, introw).Value = "RECHERCHEV(D2;'Commune CAD PDL'!A:B;2;FAUX)"
ActiveSheet.Cells(24, introw).Value = ActiveSheet.Cells(24, introw - 1)
ActiveSheet.Cells(25, introw).Value = "=RECHERCHEV(W2;'Communes BEX'!$A$2:$C$601;3;FAUX)"
ActiveSheet.Cells(34, introw).Value = "test"
introw = introw + 1
Wend
end sub
Sa à fonctionner, mais sa à remplacer toutes mes cellules par "test" il va bien jusqu'à la fin , mais toute la colonnes est remplacer par test.
Pour le code de bidouille -> erreur 1004 sur cette ligne
ActiveSheet.Cells(24, introw).Value = ActiveSheet.Cells(24, introw - 1)
Bon je vous remercie pour l'instant de votre aide mais la je vais manger bonne app à vous deux et à tout à l'heure.
ActiveSheet.Cells(24, introw).Value = ActiveSheet.Cells(24, introw - 1)
Bon je vous remercie pour l'instant de votre aide mais la je vais manger bonne app à vous deux et à tout à l'heure.
Oui oui je sais que sa met "test" mais sa ma remplacer aussi ce qui été déjà remplie, c'est pour ca!
ActiveSheet.Cells(34, introw) = "=SI(NBCAR(F2)<8;"Non Référencé";SI(DROITE(F2;6)="000000";"Non Référencé";F2))"
Que tu as une erreur?
C'est quoi l'erreur?