Copier coller celulle itération avec date

Résolu/Fermé
loulou5986 Messages postés 12 Date d'inscription vendredi 7 février 2014 Statut Membre Dernière intervention 9 mai 2014 - Modifié par pijaku le 25/02/2014 à 14:52
romain7254 Messages postés 1020 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 10 janvier 2018 - 26 févr. 2014 à 13:35
Bonjour,

https://www.cjoint.com/?3BzkR1Z8q4p

Je joue à l'apprentie sorcière du VBA... Pas très concluant !

Voici ce que j'essaie de faire : quand je tape un nouveau prix dans ma cellule B4,
j'aimerais que ce prix s'affiche dans la première ligne de la seconde colonne de mon tableau.
Puis quand je retape un nouveau prix, il s'affiche dans la seconde ligne de ma seconde colonne, et ainsi de suite...

Pour cela j'ai déjà trouvé un code sur un forum (à l'aide d'un bouton)

Sub miseajour()

Dim lifin As Long, v
v = ActiveSheet.Range("B4").Value
lifin = Activesehet.Range("G" & Rows.Count).End(xlUp).Row
If ActiveSheet.Range("G3") <> "" Then lifin = lifin + 1
ActiveSheet.Range("G" & lifin).Value = v


End Sub


cependant excel me renvoie objet non défini...

En plus de cela, j'aimerais qu' à chaque fois que le prix est modifié, la date à laquelle il est modifié apparaisse dans la première colonne de mon tableau

Pouvez vous m'aider svp?


Merci d'avance

A voir également:

5 réponses

romain7254 Messages postés 1020 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 10 janvier 2018 297
Modifié par romain7254 le 25/02/2014 à 11:01
Bonjour,

Essayez avec ceci (je suis aussi apprentis sorcier du VBA, mais voyons si cela fonctionne)

Sub miseajour() 

Dim lifin As Long, v
Dim cell As Range

v = ActiveSheet.Range("B4").Value

lifin = ActiveSheet.Range("G1:G" & Range("G" & Rows.Count).End(xlUp).Row)

If ActiveSheet.Range("G3") <> "" Then lifin = lifin + 1
ActiveSheet.Range("G" & lifin).Value = v
ActiveSheet.Range("F" & cell.Row).Value = Date
End If

End Sub


PS : Je n'ai pas pu voir votre fichier, le site étant bloqué pour moi.

Cordialement, Romain.
0
romain7254 Messages postés 1020 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 10 janvier 2018 297
Modifié par romain7254 le 25/02/2014 à 14:16
La macro n'a pas l'air de fonctionner (et je m'en doutais un peu), j'y travaille n'ayez aucune inquiétude ;)
0
romain7254 Messages postés 1020 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 10 janvier 2018 297
Modifié par romain7254 le 25/02/2014 à 14:19
Voila, ça fonctionne !

Sub test()
Dim rng As Range, cell As Range
Dim i As Integer

i = 3
While (Cells(i, 7).Value <> "")
i = i + 1
Wend
Cells(i, 7).Select

Set rng = ActiveSheet.Range("B4")

With rng.Cells
.Copy
If ActiveSheet.Range("G3") = "" Then
ActiveSheet.Range("G3").PasteSpecial xlPasteValues
End If

If ActiveSheet.Range("G3") <> "" Then
ActiveCell.PasteSpecial xlPasteValues
End If

ActiveCell.Offset(, -6).Value = Date 'entre la date dans la colonne A. Mettre -1 pour entrer la date dans la colonne F

End With

End Sub


Cordialement, Romain.
0
loulou5986 Messages postés 12 Date d'inscription vendredi 7 février 2014 Statut Membre Dernière intervention 9 mai 2014
25 févr. 2014 à 16:59
merci bcp !! J'apprends bcp grâce à votre code
Encore merci :)
0
loulou5986 Messages postés 12 Date d'inscription vendredi 7 février 2014 Statut Membre Dernière intervention 9 mai 2014
Modifié par loulou5986 le 25/02/2014 à 18:28
Re- Bonjour,

J'ai essayé d'adapter le code à un autre fichier. Et là, grand mystère le code ne marche plus !
Au début je n'avais pas rajouté Worksheets("BCC") devant Cells(i,10).Select mais alors : excel m'indique : erreur 1004 définie par l'application ou l'objet. J'ai cru comprendre qu'excel ne comprenait pas dans quelle sheet il devait prendre la cellule (i,10)

Le probleme est qu'une fois cet incident résolu alors : Il copie bel et bien une premiere fois la cellule voulue mais ensuite, il refuse de copier la même cellule sur la ligne suivante ...
Je ne comprends pas on a pourtant bien notre compteur qui s'incrémente dans notre boucle...

Puis je encore quémander votre aide?
Merci d'avance


Sub test()
Dim rng As Range
Dim cell As Range
Dim i As Integer

i = 5
While (Cells(i, 10).Value <> "")
i = i + 1
Wend
Worksheets("BCC").Cells(i, 10).Select

Set rng = ActiveSheet.Range("B35")

With rng.Cells
.Copy
If ActiveSheet.Range("J5") = "" Then
ActiveSheet.Range("B35").PasteSpecial xlPasteValues
End If

If ActiveSheet.Range("J5") <> "" Then
ActiveCell.PasteSpecial xlPasteValues
End If

ActiveCell.Offset(, -1).Value = Date 'entre la date dans la colonne A. Mettre -1 pour entrer la date dans la colonne F

End With

End Sub
0
romain7254 Messages postés 1020 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 10 janvier 2018 297
Modifié par romain7254 le 26/02/2014 à 08:55
Que voulez vous faire exactement dans cette macro ? Car après vos modifications elle n'a plus aucune logique, ça part dans tous les sens. Expliquez moi plus en détails svp.
(au passage comment faites vous pour que dans votre premier post le code s'affiche ainsi ?)

EDIT : Voir mon post en dessous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
romain7254 Messages postés 1020 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 10 janvier 2018 297
Modifié par romain7254 le 26/02/2014 à 09:22
Bonjour,

La macro fonctionne uniquement sur une page. Vous avez modifié des range qui n'ont donné plus aucune logique à la macro.

Essayez donc avec ce code :

Sub test()
Dim rng As Range
Dim cell As Range
Dim i As Integer

i = 5
While (Cells(i, 10).Value <> "")
i = i + 1
Wend
Cells(i, 10).Select 'cellule de la page actuelle

Set rng = ActiveSheet.Range("B35")

With rng.Cells
.Copy
If ActiveSheet.Range("J5") = "" Then
ActiveSheet.Range("J5").PasteSpecial xlPasteValues 'endroit ou tu colles les données
End If

If ActiveSheet.Range("J5") <> "" Then
ActiveCell.PasteSpecial xlPasteValues
End If

ActiveCell.Offset(, -1).Value = Date 'entre la date dans la colonne précédente

End With

End Sub


Cordialement, Romain.
0
loulou5986 Messages postés 12 Date d'inscription vendredi 7 février 2014 Statut Membre Dernière intervention 9 mai 2014
26 févr. 2014 à 13:04
Merci pour la rapidité de votre réponse ! Malheureusement j'ai toujours la même réponse : erreur 1004 erreur définie par l'application ou par l'objet
Je vais tenter quelque chose d'autre !
0
loulou5986 Messages postés 12 Date d'inscription vendredi 7 février 2014 Statut Membre Dernière intervention 9 mai 2014
26 févr. 2014 à 13:12
Probleme résolu !!! j'avais oublié de mettre option explicit !
Merci bcp pour votre aide Romain
0
romain7254 Messages postés 1020 Date d'inscription mardi 23 décembre 2008 Statut Membre Dernière intervention 10 janvier 2018 297
26 févr. 2014 à 13:35
De rien. Bonne journée à vous !
0