VBA Cope de cellules
Actaris51
-
Actaris51 -
Actaris51 -
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
- Incompatibilité de type vba ✓ - Forum Excel
5 réponses
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
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