VBA Cope de cellules
Fermé
Bonjour,
Voilà, j'aimerai faire une maccro en VBA qui copie des données dans une autre cellule, suivant sa dispo.
Voici la feuille concernée :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijorJtsA7.xls
Ne vous occupez pas des autres macros en liaison avec un autre classeur, j'ai juste copié la feuille concernée.
Donc ce que je veux faire :
Je veux qu'en un clic, en bas, en A30 s'affiche automatiquement la date du jour, et en B30 la valeur située en B2.
Sauf que, je veux que si il y a deja une valeur dans ces cases (par exemple si je le refais demain), et bien les valeurs soit copiées en dessous, c'est à dire en A31 et en B31.
Il s'agit en fait de faire un suivi de ces valeurs.
Pouvez vous m'aider ?
Merci
Voilà, j'aimerai faire une maccro en VBA qui copie des données dans une autre cellule, suivant sa dispo.
Voici la feuille concernée :
http://www.cijoint.fr/cjlink.php?file=cj200906/cijorJtsA7.xls
Ne vous occupez pas des autres macros en liaison avec un autre classeur, j'ai juste copié la feuille concernée.
Donc ce que je veux faire :
Je veux qu'en un clic, en bas, en A30 s'affiche automatiquement la date du jour, et en B30 la valeur située en B2.
Sauf que, je veux que si il y a deja une valeur dans ces cases (par exemple si je le refais demain), et bien les valeurs soit copiées en dessous, c'est à dire en A31 et en B31.
Il s'agit en fait de faire un suivi de ces valeurs.
Pouvez vous m'aider ?
Merci
A voir également:
- VBA Cope de cellules
- Formule excel pour additionner plusieurs cellules - Guide
- Verrouiller cellules excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Concatener deux cellules excel - Guide
- Vba attendre 1 seconde ✓ - Forum VB / VBA
5 réponses
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
3 juin 2009 à 10:36
3 juin 2009 à 10:36
Bonjour,
commande par bouton
Sub suivi()
Dim lig As Long
lig = Range("A65536").End(xlUp).Row + 1
Cells(lig, 1) = Date
Cells(lig, 2) = Range("B2")
End Sub
Si tu veux déclencher par changement dans la cellule B2, fais signe
commande par bouton
Sub suivi()
Dim lig As Long
lig = Range("A65536").End(xlUp).Row + 1
Cells(lig, 1) = Date
Cells(lig, 2) = Range("B2")
End Sub
Si tu veux déclencher par changement dans la cellule B2, fais signe
Dis, tu saurais rajouter une condition, qui ne fais la copie uniquement si les valeurs ne sont pas identiques à celles de la ligne du dessus (par exemple, si on clique deux fois de suite, et bien ce n'est copie qu'une seule fois)
je pense à un truc SI Date = Cells(lig-1, 1) ALORS message d'erreur, je ne sais juste pas le transcrire en VBA
merci
je pense à un truc SI Date = Cells(lig-1, 1) ALORS message d'erreur, je ne sais juste pas le transcrire en VBA
merci
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
3 juin 2009 à 11:15
3 juin 2009 à 11:15
Sub suivi()
Dim lig As Long
lig = Range("A65536").End(xlUp).Row
If Cells(lig, 1) <> Date Then
Cells(lig + 1, 1) = Date
Cells(lig + 1, 2) = Range("B2")
Else
MsgBox "date d'aujourd'hui déjà saisie!... ", vbExclamation
End If
End Sub
Dim lig As Long
lig = Range("A65536").End(xlUp).Row
If Cells(lig, 1) <> Date Then
Cells(lig + 1, 1) = Date
Cells(lig + 1, 2) = Range("B2")
Else
MsgBox "date d'aujourd'hui déjà saisie!... ", vbExclamation
End If
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question