Optimisation de code
Résolu/Fermé
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
-
11 févr. 2010 à 10:04
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 11 févr. 2010 à 14:32
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 11 févr. 2010 à 14:32
A voir également:
- Optimisation de code
- Optimisation pc - Guide
- Code asci - Guide
- Code de déverrouillage oublié - Guide
- Code puk bloqué - Guide
- Code blocks free - Télécharger - Langages
8 réponses
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
288
11 févr. 2010 à 10:15
11 févr. 2010 à 10:15
on peut "éclaircir" en stockant la valeur de Sheets("Stats").Range("B15").Value dans une variable
puis sur une boucle with ...end with
mais est-ce plus simple? ton code fonctionne c'est déjà bien! et même très bien.
puis sur une boucle with ...end with
Sheets("p1").Select toto = Sheets("Stats").Range("B15").Value With Sheets("p1") .Range("N35").Value = toto .Range("N36").Value = toto .Range("N46").Value = toto .Range("N47").Value = toto End With
mais est-ce plus simple? ton code fonctionne c'est déjà bien! et même très bien.
Artamos
Messages postés
165
Date d'inscription
vendredi 5 février 2010
Statut
Membre
Dernière intervention
28 mars 2011
16
11 févr. 2010 à 10:17
11 févr. 2010 à 10:17
en effet, difficile d'optimiser une simple copie de valeurs.
La solution de Bidouilleu_R reste la meilleurs si tu y tiens vraiment.
La solution de Bidouilleu_R reste la meilleurs si tu y tiens vraiment.
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
11 févr. 2010 à 10:19
11 févr. 2010 à 10:19
ok, merci a vous deux
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
11 févr. 2010 à 10:31
11 févr. 2010 à 10:31
J'ai une question du même genre donc je vais la poster ici, peut-on faire la meme chose meme en selectionnant plusieurs cellules ?
Un exemple vaut bien mieux qu'une explication (surtout quand on voit mon explication) donc:
Range("C1:N31").Select
Selection.Copy
Range("B1").Select
ActiveSheet.Paste
Est ce que je peux remplacer mon c/c par une formule du type range("quelque chose").value=range("autrechose").value ?
Un exemple vaut bien mieux qu'une explication (surtout quand on voit mon explication) donc:
Range("C1:N31").Select
Selection.Copy
Range("B1").Select
ActiveSheet.Paste
Est ce que je peux remplacer mon c/c par une formule du type range("quelque chose").value=range("autrechose").value ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
288
11 févr. 2010 à 10:54
11 févr. 2010 à 10:54
copier coller marche mais il faut que la plage soit contigüe
attention la zone où tu colles doit être =ou > à la zone de copie
activesheet.paste résoud le problème
une autre méthode ...
Sub test2()
Dim toto As Variant
toto = Sheets("Stats").Range("B2:B5")
With Sheets("p1")
.Range("N35").Value = toto(1, 1)
.Range("N36").Value = toto(2, 1)
.Range("N46").Value = toto(3, 1)
.Range("N47").Value = toto(4, 1)
End With
End Sub
attention la zone où tu colles doit être =ou > à la zone de copie
activesheet.paste résoud le problème
une autre méthode ...
Sub test2()
Dim toto As Variant
toto = Sheets("Stats").Range("B2:B5")
With Sheets("p1")
.Range("N35").Value = toto(1, 1)
.Range("N36").Value = toto(2, 1)
.Range("N46").Value = toto(3, 1)
.Range("N47").Value = toto(4, 1)
End With
End Sub
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
11 févr. 2010 à 10:56
11 févr. 2010 à 10:56
ca c'est pour ma premiere question non ?
enark78
Messages postés
417
Date d'inscription
mardi 2 février 2010
Statut
Membre
Dernière intervention
12 juillet 2012
17
11 févr. 2010 à 11:26
11 févr. 2010 à 11:26
personne pour ma deuxieme question ?
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
288
11 févr. 2010 à 14:32
11 févr. 2010 à 14:32
content? ; )
Sub test2()
Dim toto As Variant
toto = Sheets("Stats").Range("c1:n31")
Sheets("p1").Select
For i = 1 To 31
' B1 correspond à cells(1,2)
Cells(i, 2).Value = toto(i, 1)
Next i
End Sub
Sub test2()
Dim toto As Variant
toto = Sheets("Stats").Range("c1:n31")
Sheets("p1").Select
For i = 1 To 31
' B1 correspond à cells(1,2)
Cells(i, 2).Value = toto(i, 1)
Next i
End Sub