Creation d'un bouton pour valider une copie de colonnes

Bonjour,

je souhaiterais savoir s'il existe une macro qui me permettrait, par l'intermediaire d'un bouton, de lancer une copie de colonne contenant des données, vers un autre fichier récapitulatif. Au moment de lancer la copie, un message de confirmation de la copie pourrait etre proposer.

Je vous joints les fichiers excel.

L'exemple est le suivant: avec le bouton: clic et message de "confirmation du bilan ?" clic sur "oui ou non"

si non, on ressort

si oui: copie de la zone encadree en rouge dans le fichier "modele analyse Topkapi" vers le fichier "bilan test" transposé sur la zone rouge.

Si vous pouviez me depanner sur ce début de macro, je pourrais la continuer pour d'autres onglets à suivre.

Je vous remercie par avance

16bilan-test.zip (10.39 Ko)

Bonjour Ross, bonjour le forum,

En pièce jointe ton fichier modifié. Pour que le code fonctionne il faut que les deux fichiers soient ouverts...

Le code du bouton :

Private Sub CommandButton1_Click()
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destinatin)
Dim DT As Variant 'déclare la variable DT (DaTe)
Dim DEST As Range 'déclare la variable DEST (cellule de DESTination)
Dim I As Long 'déclare la variable I (Incrément)

ActiveCell.Select 'enleve le focus au bouton
Set CS = ThisWorkbook 'définit le classeur source CS
Set CD = Workbooks("bilan test.xls") 'définit le classeur destination CD
Set OS = CS.Worksheets("Feuille d'analyses") 'définit l'onglet source CS
Set OD = CD.Worksheets("Eau Brute") 'définit l'onglet destination OD
DT = DateSerial(Year(OS.Range("B3")), Month(OS.Range("B3")), Day(OS.Range("B3"))) 'définit la date DT
For I = 6 To 371 'boucle sur toute4s les dates
    If DateSerial(Year(OD.Cells(I, 1).Value), Month(OD.Cells(I, 1).Value), Day(OD.Cells(I, 1).Value)) = DT Then 'condition : si la date DT concorde avec la date de la boucle
        Set DEST = OD.Cells(I, 1).Offset(0, 1) 'définit la cellule de destination DEST
        Exit For 'sort de la boucle
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
DEST.Resize(1, 27).Value = Application.Transpose(OS.Range("C6:C32")) 'récupère les données en les transposant
End Sub

Le fichier :

ok merci.

impeccable

Rechercher des sujets similaires à "creation bouton valider copie colonnes"