[VBA]aide pour tableau
Résolu
Appoline
-
zavenger Messages postés 817 Statut Membre -
zavenger Messages postés 817 Statut Membre -
Bonjour à tous,
J'ai un tableau qui fait 10 lignes (de la ligne 3 à la ligne 13) et j'ai une maccro qui prend les valeurs dans une autre feuille et qui les enregistres dans ce tableau, mais mon problème c'est que je voudrais que quand on arrive à la ligne 13 faire une maccro qui fasse que la prochaine valeur enregistrée aille dans la ligne 3 et pas à la ligne 14 (et si possible que ça efface le reste du tableau), mais je suis bloquée je vois pas comment on peut faire....
Si quelqu'un a une idée ou un début d'idée.
Merci d'avance et bonne journée à tous(tes) lol
J'ai un tableau qui fait 10 lignes (de la ligne 3 à la ligne 13) et j'ai une maccro qui prend les valeurs dans une autre feuille et qui les enregistres dans ce tableau, mais mon problème c'est que je voudrais que quand on arrive à la ligne 13 faire une maccro qui fasse que la prochaine valeur enregistrée aille dans la ligne 3 et pas à la ligne 14 (et si possible que ça efface le reste du tableau), mais je suis bloquée je vois pas comment on peut faire....
Si quelqu'un a une idée ou un début d'idée.
Merci d'avance et bonne journée à tous(tes) lol
Configuration: Windows 2000 Internet Explorer 5.01
8 réponses
-
Bonjour,
Je ne connais ta macro qui remplis ton tableau, mais pourquoi ne pas la modifier pour faire que si la ligne de destination = 14 alors on efface le tableau et ligne de destination = 3 -
tu peux peut etre copier ta macro originale et on verra comment la modifier?
-
Re, je post la macro
Sub DonnéesPourGraphe()
Dim D As Date
Dim T As Date
Dim QR As Integer
Dim C As Integer
Dim derniereligne As String
Sheets("Données").Activate
QR = Cells("10", "A").Value
Range("D26").Select
Selection.Value = QR
D = DateValue(Now)
T = TimeValue(Now)
Range("B26").Select
Selection.Value = D
Range("C26").Select
Selection.Value = T
C = Cells("16", "A").Value
Range("C16").Select
Selection.Value = C
Range("C16").Select
Selection.Copy
Sheets("graphe").Select
Range("D3").Select
ActiveSheet.Paste
Sheets("Données").Activate
Range("B26:D26").Select
Selection.Copy
Sheets("graphe").Select
Range("A1").Select
Selection.End(xlDown).Select
derniereligne = ActiveCell.Row + 1
Range("a" & derniereligne).Select
ActiveSheet.Paste
Sheets("Données").Activate
StartTIMER
End Sub
-
-
Dans un premier temps, pour etre sur l'on modifie bien le bon code, je ferais ceci (bien sur pas sur le fichier original, mais sur une copie)
cela devrait passer de la ligne 14 ä la ligne 3
On feras l'effacement apres
...
Selection.End(xlDown).Select
derniereligne = ActiveCell.Row + 1
if derniereligne = 14 then
derniereligne = 3
end if
Range("a" & derniereligne).Select
.. -
Et maintenant avec l'effacement ? Si cela n'efface pas ce qu'il faut, tu peux ajuster la zone de selection
...
Selection.End(xlDown).Select
derniereligne = ActiveCell.Row + 1
if derniereligne = 14 then
derniereligne = 3
Range("B3:D13").Select
Selection.Delete Shift:=xlUp
end if
Range("a" & derniereligne).Select
.. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ca marche mais avant qu'il efface la zone de la selection, il y a une erreur : "La méthode paste de la classe worksheet a echoué" et il souligne nen jaune "Actibesheet.paste"
-
-
peut etre a cause de la selection, apres reflexion, cela devrait plutot etre
Range("A3:C13").Select -
essayons un petit bricolage comme
Selection.End(xlDown).Select
if derniereligne = 14 then
derniereligne = 3
end if
Range("a" & derniereligne).Select
ActiveSheet.Paste
if derniereligne = 3 then
Range("B4:D13").Select
Selection.Delete Shift:=xlUp
end if
Sheets("Données").Activate