Incrémenter une colonne lors d'un enregistrement de données

Résolu
Achab50100 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
Achab50100 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je débute sous VBA et du coup je bloque sur une macro.

En effet, je souhaiterai écrire une macro qui quand on appuie sur un bouton sur un fichier excel A, copie les données dans une seule colonne sur un fichier B. jusque là pas de soucis j'arrive à m'en sortir et la macro tourne plutôt bien. Ensuite j'aimerai que lorsque je reclique sur ce bouton, les données du fichier A soient copiées dans la colonne suivante. (le but de la manoeuvre étant de créer un suivi de chantier par jour. le fichier B regroupant les données sur toute la durée du chantier et le fichier A permet un suivi journalier).

Mon blocage se situe au niveau du passage à la colonne +1 lorsque j'enregistre mes données dans le fichier B.

Merci pour votre aide!

A voir également:

5 réponses

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Si tu joignais la macro que tu as écrite, il serait plus facile de t'aider.

A+
0
Achab50100 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Voici la macro qui permet de copier les données:

Sub macrotest()
'
' macrotest Macro
'
Application.ScreenUpdating = False 'pas de rafraichissement

'
Range("D30:D33").Select
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("B36").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("A62:A74").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("A5").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("B62:B74").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("B5").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("G2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("B4").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("G30:G31").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("B32:B33").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("E62:E74").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("A74").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("C77").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("B56").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("D77").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("A56").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("C80").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("B65").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("D80").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("A65").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
Range("F62:F74").Select
Application.CutCopyMode = False
Selection.Copy
Windows("tableau de suivi des travaux.xlsm").Activate
Range("B74").Select
ActiveSheet.Paste
Windows("cahier de quart_post fuku.xls").Activate
End Sub


et la macro qui me permet de copier mon fichier A au format PDF et de vider les cases de données:

Sub Macro2()
'
' Macro2 Macro
'
Call cahierdequart2 'lancement de la macro d enregistrement des données


ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & "cahier de quart" & "_" & Format(Date, "dd-mm-yyyy") _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
Range("D30:D33").Select
Selection.ClearContents
Range("B62:B74").Select
Selection.ClearContents
Range("F62:F74").Select
Selection.ClearContents
Range("C77").Select
Selection.ClearContents
Range("C80").Select
Selection.ClearContents
Windows("tableau de suivi des travaux.xlsm").Activate
ActiveWorkbook.Save

End Sub
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Je dois dire que ça part mal !

Tu indiquais précédemment que la copie les données du fichier A se fait dans une seule colonne du fichier B.
Ton code montre que cette copie se fait dans 2 colonnes du fichier B (colonnes A et B).
Si tu incrémentes d'une colonne à chaque clic sur le bouton, tu vas écraser les données précédentes.

A+
0
Achab50100 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
en effet, il y a des données qui partent dans la colonne A mais c'est valeur ne doivent pas être déplacé de colonnes en colones. seules les valeurs copiées vers la colonne B doivent se déplacer sur la colonne +1. en gros les valeurs de la colonne A sont les noms des entreprises, des données climatiques etc et les valeurs de la conne B sont les variables qui y sont affectées (nombre d'employés, température en degrès etc).

Je ne sais pas si je suis assez clair?
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Quels sont les noms des feuilles ?
Fichier "cahier de quart_post fuku.xls"; feuille ???
Fichier "tableau de suivi des travaux.xlsm"; feuille ???

A+
0
Achab50100 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
fichier cahier de quart -> feuille: cahier de quart post fuku
fichier tableau de suivi des travaux -> feuille: feuil1


Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
A tester

Sub macrotest()
Dim WkS As Workbook, WkC As Workbook
Dim WsS As Worksheet, WsC As Worksheet
Dim ColonneC As Long

Set WkS = Workbooks("cahier de quart_post fuku.xls")
Set WkC = Workbooks("tableau de suivi des travaux.xlsm")
Set WsS = WkS.Worksheets("cahier de quart post fuku")
Set WsC = WkC.Worksheets("Feuil1")

ColonneC = WsC.Cells(4, Columns.Count).End(xlToLeft).Column + 1
Application.ScreenUpdating = False

WsS.Range("D30:D33").Copy WsC.Cells(36, ColonneC)
WsS.Range("A62:A74").Copy WsC.Range("A5")
WsS.Range("B62:B74").Copy WsC.Cells(5, ColonneC)
WsS.Range("G2").Copy WsC.Cells(4, ColonneC)
WsS.Range("G30:G31").Copy WsC.Cells(32, ColonneC)
WsS.Range("E62:E74").Copy WsC.Range("A74")
WsS.Range("C77").Copy WsC.Cells(56, ColonneC)
WsS.Range("D77").Copy WsC.Range("A56")
WsS.Range("C80").Copy WsC.Cells(65, ColonneC)
WsS.Range("D80").Copy WsC.Range("A65")
WsS.Range("F62:F74").Copy WsC.Cells(74, ColonneC)

Set WkS = Nothing: Set WkC = Nothing: Set WsS = Nothing: Set WsC = Nothing

End Sub

A+
0
Achab50100 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
C'est parfait merci beaucoup pour ton aide,

Bonne journée
0