XL 2016 Lancement macro

Rabeto

XLDnaute Occasionnel
Bonjour,

J'aimerai faire un macro qui se lance (faire une copie coller des données d'une feuille dont le nom est la date dans un menu déroulante)

Le nom de chaque feuille est une date, je veux que quand je choisis une date, la macro me fait une copie coller des valeurs dans la feuille dont le nom est la date.

merci
 

Pièces jointes

  • VBA date.xlsx
    16.6 KB · Affichages: 6

Rabeto

XLDnaute Occasionnel
merci,

Donc le code est :

Sub Copy()
Sheets(Replace(Replace(CStr([C1]), "/", ""), "20", "")).Select
Columns("A:AA").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Collage").Select
Range("G1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
End Sub

mais ça marche pas, rien ne se passe quand je modifie la date dans C1
 

Deadpool_CC

XLDnaute Accro
Bonjour,
si tu enleves les / en premier => 02062022
les 2 "20" seront supprimés donc c'est plus le nom de ta feuille

t'aura le même soucis pour toutes les dates tombant un 20 xxx 2022 et tous les 02 janvier à septembre

faut deu tu "calcules" plus précisement le nom de ta feuille
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Je vous propose cette macro qui se nomme 'Copier' parce que ce n'est pas vraiment recommandé de prendre des noms réservés par vba comme nom d'objet, de variable de procédure ou de fonction.

VB:
Sub Copier()

    Dim Nom As String
    Dim feuille As Worksheet

    Nom = Format(ThisWorkbook.Sheets("Feuil1").Range("C1"), "ddmmyy")
    
    On Error Resume Next ' Si la feuille n'existe pas la ligne suivante levera un erreur
    Set feuille = ThisWorkbook.Sheets(Nom)
    On Error GoTo 0
    
    If Not feuille Is Nothing Then
        ThisWorkbook.Sheets("Collage").Range("G1").CurrentRegion.ClearContents
        With feuille.Range("A1").CurrentRegion
            ThisWorkbook.Sheets("Collage").Range("G1").Resize(.Rows.Count, .Columns.Count).Value = .Value
        End With
        
        MsgBox "Les données de la feuille '" & Nom & "' ont été copiées dans la feuille de collage", vbInformation, "Copier données"
    Else
        MsgBox "Exécution interrompue : " & vbCrLf & _
                        "La feuille '" & Nom & "' n'existe pas dans ce classeur!", vbExclamation, "Copier données"
    End If
    
End Sub
 

Pièces jointes

  • VBA date.xlsm
    35.7 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
312 424
Messages
2 088 287
Membres
103 808
dernier inscrit
qsfdhqzsfg