Placer des graphiques vba (urgent)
Fermé
charly
-
25 mars 2011 à 10:38
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 25 mars 2011 à 15:37
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 25 mars 2011 à 15:37
A voir également:
- Placer des graphiques vba (urgent)
- Placer des points sur une carte - Guide
- Find vba - Astuces et Solutions
- Incompatibilité de type vba ✓ - Forum Programmation
- Place des celibataires avis - Forum Vos droits sur internet
- Vba attendre 1 seconde ✓ - Forum VB / VBA
10 réponses
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 25/03/2011 à 12:50
Modifié par lermite222 le 25/03/2011 à 12:50
Bonjour,
Plante directement ou après en avoir positionner quelque un. ?
Ta macro n'a pas d'erreur. Sauf que tu met tes graph en diagonale ? c'est voulu?
Après 10 graph, si tu est en Excel 97-2003 ça plante pour dépassement capacité.
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Plante directement ou après en avoir positionner quelque un. ?
Ta macro n'a pas d'erreur. Sauf que tu met tes graph en diagonale ? c'est voulu?
Après 10 graph, si tu est en Excel 97-2003 ça plante pour dépassement capacité.
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
non ce n'est pas l'effet voulu ^^ je me suis rendu compte de mon erreur quand je l'ai fais foctionner. sauriez-vous coment faire pour que les graph s'affiche dans un cette ordre : le graph qui arrive en premier se positionne en haut a gauche, le 2e en haut à droite le 3e en dessou a gauche le 4e sous le 2e etc...?
J'ai résolu l'autre problème sinon, j'ai déclarer un variable as range et je mis sheets(feuil3).cells(x,y) dans cette variable
J'ai résolu l'autre problème sinon, j'ai déclarer un variable as range et je mis sheets(feuil3).cells(x,y) dans cette variable
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 25/03/2011 à 13:48
Modifié par lermite222 le 25/03/2011 à 13:48
y = y + 25 : If Y > 50 then Y = 25 : x = x + 8
Pour 2 graph par ligne
et supprimer x=x+8
A+
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
celà ne fonctionne passa place correctement le deuxieme, puis ensuite sa saute pas mal de lignes puis sa fais un ligne de 3 graphiques et sa en met ensuite un juste en dessou du graphique du milieu dans la ligne de 3
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
25 mars 2011 à 14:21
25 mars 2011 à 14:21
Un peu de réflexion Stp
Y a une erreur..
Et si ça va pas remet le code tel qu'il est maintenant.
Y a une erreur..
y = y + 25 : If Y > 50 then Y = 1 : x = x + 8
Et si ça va pas remet le code tel qu'il est maintenant.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
c'est bon c'est réglé vous aviez juste inversé les lignes et les colonnes, voici le code
mais j'ai une réaction bisarre. les deux premiers graph se placent correctement, mais je reste et décalé de 25 suivant y comme si on faisait y=y+50 au lieu de y=y+25
en tous cas merci beaucoup!
Dim Nbre_Graphe As Byte Dim x As Integer Dim y As Integer Dim caspos As Range x = 1 y = 1 For Nbre_Graphe = 1 To ActiveSheet.ChartObjects.Count With ActiveSheet.Shapes(Nbre_Graphe) Set caspos = Feuil3.Cells(y, x) .Left = caspos.Left 'position des graphiques .Top = caspos.Top 'position des graphiques .Width = 450 'la largeur voulue .Height = 300 'la hauteur voulue End With x = x + 8: If x > 16 Then x = 1: y = y + 25 Next Nbre_Graphe
mais j'ai une réaction bisarre. les deux premiers graph se placent correctement, mais je reste et décalé de 25 suivant y comme si on faisait y=y+50 au lieu de y=y+25
en tous cas merci beaucoup!
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 25/03/2011 à 15:01
Modifié par lermite222 le 25/03/2011 à 15:01
Comprend pas, décalage de quoi ?
Avec le code que tu met, x = les colonnes et y = les lignes...
les 2 premiers sur A1 et et H1
suivant sur A25 et H25, etc..
Edit : Et je viens de tester, ça fonctionne impec.
Edit 2 :
Je crois que j'ai compris.
quand tu met Feuil3 ?? tu travail sur quel feuille ?
Feuil3 c'est le N° d'ordre de la feuille et Sheets("Feuil3") c'est le nom de la feuille.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Avec le code que tu met, x = les colonnes et y = les lignes...
les 2 premiers sur A1 et et H1
suivant sur A25 et H25, etc..
Edit : Et je viens de tester, ça fonctionne impec.
Edit 2 :
Je crois que j'ai compris.
x = 1 y = 1 For Nbre_Graphe = 1 To ActiveSheet.ChartObjects.Count With ActiveSheet.Shapes(Nbre_Graphe) .Left = ActiveSheet.Cells(y, x).Left 'position des graphiques .Top = ActiveSheet.Cells(y, x).Top 'position des graphiques .Width = 450 'la largeur voulue .Height = 300 'la hauteur voulue End With x = x + 8: If x > 16 Then x = 1: y = y + 25 Next Nbre_Graphe
quand tu met Feuil3 ?? tu travail sur quel feuille ?
Feuil3 c'est le N° d'ordre de la feuille et Sheets("Feuil3") c'est le nom de la feuille.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Non çà devrai être A26 et H26 (car y=1 au début) sauf que mon graphique se place en A52. J'ai fais un test "step by step" et y est bien égale à 26 et pourtant le graphique se le place en A52. par contre la ligne du dessou se place bien juste après. c'est très bisarre et je ne comprends pas. je suis novice j'ai comencé VBA il y a 3 semaines au début de mon stage en entreprise.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
25 mars 2011 à 15:14
25 mars 2011 à 15:14
C'est toi qui inverse les lignes et les colonnes..
Prend l'exemple de mon code, il fonctionne.
PS : Avec les dimensions que tu donne au graph le positionnement sur les lignes step by step est bon avec 25 et x avec 8
donc, comme dis plus haut...
les 2 premiers sur A1 et et i1
suivant sur A25 et i25, etc..
Prend l'exemple de mon code, il fonctionne.
PS : Avec les dimensions que tu donne au graph le positionnement sur les lignes step by step est bon avec 25 et x avec 8
donc, comme dis plus haut...
les 2 premiers sur A1 et et i1
suivant sur A25 et i25, etc..
je viends de re essayer avec votre code et je comfirme que vous inversez les ligne et les colonnes, avec votre code 2 lignes par colone or je veux 2 colonne par ligne.
et que ce soit avec votre code ou le mien j'ai toujours ce décalage entre la 1er ligne de graphiques et la 2e
et que ce soit avec votre code ou le mien j'ai toujours ce décalage entre la 1er ligne de graphiques et la 2e
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
Modifié par lermite222 le 25/03/2011 à 15:38
Modifié par lermite222 le 25/03/2011 à 15:38
Un exemple ??
J'ai mis le raccourci Ctrl+P pour les placer.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
J'ai mis le raccourci Ctrl+P pour les placer.
Toute la connaissance du monde ne peu tenir dans une seul tête (moi)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.