Copier valeur cellule vers dernière ligne libre d'un tableau [Résolu/Fermé]

Messages postés
98
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
28 mai 2019
- - Dernière réponse : juer31
Messages postés
98
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
28 mai 2019
- 19 janv. 2016 à 19:46
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 : http://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
Afficher la suite 

3 réponses

Messages postés
9166
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
18 octobre 2019
1651
0
Merci
Bonjour

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

Cdlmnt
juer31
Messages postés
98
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
28 mai 2019
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
Messages postés
9166
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
18 octobre 2019
1651
0
Merci
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
Messages postés
98
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
28 mai 2019
6
0
Merci
Merci bcp!