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

[Résolu/Fermé]
Signaler
Messages postés
98
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
28 mai 2019
-
Messages postés
98
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
28 mai 2019
-
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

Messages postés
10161
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
23 octobre 2021
2 232
Bonjour

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

Cdlmnt
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
10161
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
23 octobre 2021
2 232
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
Merci bcp!