Copier valeur cellule vers dernière ligne libre d'un tableau

Résolu
juer31 Messages postés 120 Statut Membre -  
juer31 Messages postés 120 Statut Membre -
Bonjour,

Dans mon classeur j'ai deux feuilles (Calcul et Historique) et j'aimerai copier les valeur des cellules dans Calcul et les transférer sur la prochaine ligne vide du tableau dans Historiques

je vous joint un exemple de mon fichier pour mieux comprendre : https://www.cjoint.com/c/FAtn4kBm15u

J'ai essayer en VBA mais je n'y parvient pas. Je ne suis pas une expert en VBA mais je me débrouille habituellement mais pas cette fois.

Est-ce possible aussi que lorsque la copie c'est fais d'éffacer la valeur des cellules qui ne contienne pas de formule?

Merci beaucoup d'avance pour votre aide

3 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Un début à compléter
    http://www.cjoint.com/c/FAtq2rsy7XI

    Cdlmnt
    0
    1. juer31 Messages postés 120 Statut Membre 6
       
      Si j'essai d'ajouter un ligne "description" ça ne marche pas!
      J'utilise excel 2013

      Option Explicit

      ' configuration feuille Calcul
      Public Const FC = "CALCUL"
      Public Const celclient = "C6"
      Public Const celcontact = "E6"
      Public Const celdescription = "C9"

      ' configuration feuille historique
      Public Const FH = "HISTORIQUE É"
      Public Const coclient = "D"
      Public Const cocontact = "I"
      Public Const codescription = "E"
      Public Const lideb = 12

      Public Sub OK()
      Dim client As String, contact As String, liFH As Long
      With Sheets(FC)
      client = .Range(celclient).Cells(1, 1).Value
      Description = .Range(celdescription).Cells(1, 1).Value
      contact = .Range(celcontact).Cells(1, 1).Value
      ' etc ....
      .Range(celclient).Cells(1, 1).Value = ""
      .Range(celcontact).Cells(1, 1).Value = ""
      End With
      With Sheets(FH)
      liFH = .Range(coclient & Rows.Count).End(xlUp).Row + 1
      If liFH <= lideb Then liFH = lideb + 1
      .Range(coclient & liFH).Value = client
      .Range(codescription & liFH).Value = Description
      .Range(cocontact & liFH).Value = contact
      ' etc ...
      End With
      End Sub
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    De rien,

    Si j'essai d'ajouter un ligne "description" ça ne marche pas!
    difficile d'interpréter !

    Essaies d'ajouter la variable description à la liste des variables

    Public Sub OK()
    Dim client As String, contact As String, liFH As Long, description as string

    Cdlmnt
    0
  3. juer31 Messages postés 120 Statut Membre 6
     
    Merci bcp!
    0