[VBA]aide pour tableau
Résolu
Appoline
-
zavenger Messages postés 811 Date d'inscription Statut Membre Dernière intervention -
zavenger Messages postés 811 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- [VBA]aide pour tableau
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
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
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
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
..
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
..
...
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"
je maitrise pas très bien les boucles sous vba (je suis newbee et je dois faire cette macro pour le boulot, c'est un peu galère)