Coller une sélection avec valeurs uniquement

Bonjour à toutes et à tous,
je viens de finir mon premier programme VBA et évidemment... Je coince !!! Rapidement mon pb : une copine m'a sollicité pour un fichier qui gèrerait sa caisse. J'ai utilisé deux onglets un pour les encaissements journaliers et un pour la récapitulation annuelle.
Pb si on utilise Excel sans VBA, les recettes de chaque jour efface les précédentes. D'où VBA... voici ce que j'ai écrit qui fonctionne bien ... jusqu'au collage des valeurs sur l'onglet récapitulatif annuel.

Sub copie_donnees_compta()

'definition variable date
Dim var As Date
'enregistrement de la valeur de date
var = range("B1")
'sélection des cellules à copier
range("A19:K19").Select
'Activation de la feuille compta
Sheets("compta").Activate
'recherche de la date
Cells.Find(What:=var).Activate
'copie des valeurs dans compta
'PasteSpecial Paste:=xlPasteValues

End Sub

j'ai essayé plein de formule avec PasteSpecial mais ... rien,
Merci de votre aide, je suis bloqué. A bientôt, cordialement

Bonjour,

Comment se nomme la feuille de caisse?

Dans quelle colonne de la feuille "compta" se trouve la date?

Un fichier joint à la demande(sans données confidentielles) serait souhaitable pour pouvoir répondre correctement.

Cdlt

Merci beaucoup Arturo83 de ton intérêt,

je te joins le fichier qui n'a rien de confidentiel. Le fichier se compose de plusieurs onglets dont deux seulement m'intéressent: "jour" et "compta" .

Merci de ta réponse, en attendant de te lire, cordialement,

7compta-caisse.xlsm (59.60 Ko)

Votre code modifié:

Sub copie_donnees_compta()
    Dim f1 As Worksheet, f2 As Worksheet 'déclaration des variables feuilles
    Dim v_Date As Date   'declaration de la variable date

    Set f1 = Sheets("jour") 'affectation de variable f1 à la feuille "jour"
    Set f2 = Sheets("compta") 'affectation de variable f2 à la feuille "compta"

    'enregistrement de la valeur de date
    v_Date = f1.Range("B1").Value

    With f2.Columns(1)
        Set d = .Find(v_Date) 'recherche de la date dans la colonne A de la feuille "compta"
        If Not d Is Nothing Then 'si la date est trouvée
            Range(f2.Cells(d.Row, "B"), f2.Cells(d.Row, "K")).Value = Range(f1.Cells(19, "B"), f1.Cells(19, "K")).Value
        End If
    End With

    ''on libère la mémoire
    Set d = Nothing
    Set f1 = Nothing
    Set f2 = Nothing
End Sub

Cdlt

Merci infiniment arturo83

j'ai beaucoup à apprendre et côtoyer des programmeurs comme toi est une vraie source d'inspiration. Merci mille fois.

cordialement

Rechercher des sujets similaires à "coller selection valeurs uniquement"