VBA EXCEL copier jusqu'a la fin du fichier
Résolu/Fermé
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
-
30 juin 2009 à 15:04
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 2 juil. 2009 à 10:40
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 2 juil. 2009 à 10:40
A voir également:
- VBA EXCEL copier jusqu'a la fin du fichier
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
- Fichier host - Guide
60 réponses
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 10:51
1 juil. 2009 à 10:51
>< 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
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 10:58
1 juil. 2009 à 10:58
Erreur compilation
expression attendue
expression attendue
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 10:59
1 juil. 2009 à 10:59
Essaye en remplacant ta forume par:
"test"
voir si ca viens de ta formule ^^
"test"
voir si ca viens de ta formule ^^
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 11:03
1 juil. 2009 à 11:03
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 :-/
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 11:04
1 juil. 2009 à 11:04
Tu peux la virer cette ligne, comme celle ou tu définis ta variable date!
Y'en a pas besoin ;)
Y'en a pas besoin ;)
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 11:06
1 juil. 2009 à 11:06
YEAHHHH sa fonctionne!!!!...presque:-( . Sa fonctionne juste pour la date. Les 3 formules ne sont pas copier..
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 11:07
1 juil. 2009 à 11:07
Essaye ca:
Activesheet.Cells().value=...
Activesheet.Cells().value=...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 11:11
1 juil. 2009 à 11:11
Euh..je le met ou? Sur la boucle ou avant? Normalement la boucle devrait commencer ?
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 11:16
1 juil. 2009 à 11:16
Non tu remplaces la syntaxe de la ligne ou tu doit mettre les résultat par cette syntaxe
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 11:25
1 juil. 2009 à 11:25
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...
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 11:32
1 juil. 2009 à 11:32
loool
Remet tous le code.
Remet tous le code.
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 11:35
1 juil. 2009 à 11:35
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
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 11:39
1 juil. 2009 à 11:39
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
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 11:43
1 juil. 2009 à 11:43
Rien ne se passe...
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 11:44
1 juil. 2009 à 11:44
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
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 11:47
1 juil. 2009 à 11:47
Même chose
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 11:47
1 juil. 2009 à 11:47
Deroule le en pas par pas pour voir ce qu'il fait
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 11:50
1 juil. 2009 à 11:50
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.
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
1 juil. 2009 à 11:51
1 juil. 2009 à 11:51
click dans la macro puis f8
tu verras la ligne surlignée en jaune avant d'être executé.
tu verras la ligne surlignée en jaune avant d'être executé.
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 11:53
1 juil. 2009 à 11:53
Il faudrai que je sauvegarde ma macro dans se cas. Comment faire je n'arrive pas à sauvegarder de macro dans le Workbook.
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 11:56
1 juil. 2009 à 11:56
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
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
1 juil. 2009 à 11:58
1 juil. 2009 à 11:58
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
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
1 juil. 2009 à 11:59
1 juil. 2009 à 11:59
Pardon les post se sont croisés
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 11:59
1 juil. 2009 à 11:59
oui ^^
Le mien marche, mais faut juste modifier l'en tête de la macro avec celle du tien ;)
Le mien marche, mais faut juste modifier l'en tête de la macro avec celle du tien ;)
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 12:00
1 juil. 2009 à 12:00
Sa à fonctionner, mais sa à remplacer toutes mes cellules par "test" il va bien jusqu'à la fin , mais toute la colonnes est remplacer par test.
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 12:01
1 juil. 2009 à 12:01
Ben voui c normal....
Faut quand même le lire un peu le truc qu'on te file desfois -_-'
j'ai mis test dans toutes les cases, donc tu as juste à re remplacer!
Faut quand même le lire un peu le truc qu'on te file desfois -_-'
j'ai mis test dans toutes les cases, donc tu as juste à re remplacer!
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
1 juil. 2009 à 12:01
1 juil. 2009 à 12:01
Exact j'ai fait un copier coller de l'entête précédente.
C'est ta méthode qui est la bonne.
C'est ta méthode qui est la bonne.
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 12:04
1 juil. 2009 à 12:04
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.
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 12:05
1 juil. 2009 à 12:05
Oui oui je sais que sa met "test" mais sa ma remplacer aussi ce qui été déjà remplie, c'est pour ca!
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 12:06
1 juil. 2009 à 12:06
Ah ba oui ca ecris dans toute les cases de la colonne!
c'est ce que t'as demandé...
c'est ce que t'as demandé...
Fou_Du_Guidon
Messages postés
320
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
9 juillet 2010
38
1 juil. 2009 à 12:11
1 juil. 2009 à 12:11
Lol on c'est mal compris je pense, il faut que ca remplisse les cellules vides jusqu'à la derniére ligne mais sans remplacer les précédent enregistrement ni l'entete de colonne
xav3601
Messages postés
3288
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
1 juil. 2009 à 12:14
1 juil. 2009 à 12:14
Ah ba voila si tu le dis pas aussi -_-'
pour ca il faut que tu mette un if autou de chaque ligne activesheet...
if activesheet.cells().value = ""
activesheet.cells().value="formule"
end if
pour ca il faut que tu mette un if autou de chaque ligne activesheet...
if activesheet.cells().value = ""
activesheet.cells().value="formule"
end if
1 juil. 2009 à 10:53
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?