[VBA]aide pour tableau
Résolu/Fermé
Appoline
-
30 juin 2008 à 14:13
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 - 1 juil. 2008 à 13:12
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 - 1 juil. 2008 à 13:12
A voir également:
- [VBA]aide pour tableau
- Tableau word - Guide
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Trier tableau excel - Guide
- Imprimer tableau excel sur une page - Guide
8 réponses
zavenger
Messages postés
811
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
161
30 juin 2008 à 14:49
30 juin 2008 à 14:49
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
zavenger
Messages postés
811
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
161
30 juin 2008 à 15:03
30 juin 2008 à 15:03
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
zavenger
Messages postés
811
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
161
1 juil. 2008 à 10:45
1 juil. 2008 à 10:45
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
..
zavenger
Messages postés
811
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
161
1 juil. 2008 à 11:15
1 juil. 2008 à 11:15
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"
zavenger
Messages postés
811
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
161
1 juil. 2008 à 11:30
1 juil. 2008 à 11:30
peut etre a cause de la selection, apres reflexion, cela devrait plutot etre
Range("A3:C13").Select
Range("A3:C13").Select
zavenger
Messages postés
811
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
161
1 juil. 2008 à 11:49
1 juil. 2008 à 11:49
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
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
zavenger
Messages postés
811
Date d'inscription
vendredi 29 février 2008
Statut
Membre
Dernière intervention
20 avril 2012
161
>
Appoline
1 juil. 2008 à 13:12
1 juil. 2008 à 13:12
de rien bonne journée
30 juin 2008 à 15:02
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)