Macro vba
Résolu/Fermé
A voir également:
- Macro vba
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro logiciel - Télécharger - Organisation
- Vba attendre 1 seconde ✓ - Forum VB / VBA
28 réponses
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
30 août 2010 à 12:00
30 août 2010 à 12:00
Bonjour,
Il me semble qu'il manque la première partie de ton code, car dans ce que tu montres, on ne sait pas à quoi correspond nb....
@ te relire
Il me semble qu'il manque la première partie de ton code, car dans ce que tu montres, on ne sait pas à quoi correspond nb....
@ te relire
désolée! et merci
'compte le nombre de colonne dans item_per
Dim marca3 As Integer
Dim nb As Integer
marca3 = 1
nb = 1
Do While (marca3 <> 0)
var12 = Cells(1, nb).Value
If var12 = "" Then
marca3 = 0
Else
nb = nb + 1
End If
Loop
'compte le nombre de colonne dans item_per
Dim marca3 As Integer
Dim nb As Integer
marca3 = 1
nb = 1
Do While (marca3 <> 0)
var12 = Cells(1, nb).Value
If var12 = "" Then
marca3 = 0
Else
nb = nb + 1
End If
Loop
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
Modifié par cousinhub29 le 30/08/2010 à 12:29
Modifié par cousinhub29 le 30/08/2010 à 12:29
Re-,
Afin de déterminer le nombre de colonnes, tu peux essayer ainsi :
Et dans le restant de ton code, nbf est inutile, utilise nb (si tu retranches 1, il te manquera effectivement la dernière colonne...)
Bonne journée
Afin de déterminer le nombre de colonnes, tu peux essayer ainsi :
nb = Range("IV1").End(xlToLeft).Column
Et dans le restant de ton code, nbf est inutile, utilise nb (si tu retranches 1, il te manquera effectivement la dernière colonne...)
Bonne journée
merci pour ton aide,j'ai essayé de remplacer par nb mais il me manque toujours le graph de la derniere valeur de la colonne
merci!
merci!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
30 août 2010 à 13:02
30 août 2010 à 13:02
Re-,
Tu as bien un en-tête, dans ta dernière colonne? (ligne 1)
Essaie avec ce code :
Bon courage
Tu as bien un en-tête, dans ta dernière colonne? (ligne 1)
Essaie avec ce code :
Dim Col As String, Col1 As String Dim Nb As Integer Nb = Sheets("Item_per").Rows("1:2").Find("*", , , , xlByColumns, xlPrevious).Column Col = "R1C" & Nb Col1 = "R2C" & Nb ActiveSheet.ChartObjects("Chart 37").Activate ActiveChart.SeriesCollection(1).Select ActiveChart.SeriesCollection(1).Formula = _ "=SERIES(Item_per!R2C1,Item_per!R1C2:" & Col & ",Item_per!R2C2:" & Col1 & ",1)" ActiveChart.Axes(xlCategory).Select With ActiveChart.Axes(xlCategory) .MajorUnit = 21 End With
Bon courage
merci! mais j'ai toujours le meme problème il me manque la derniere valeur de ma colonne
merci quand meme!
merci quand meme!
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
30 août 2010 à 13:49
30 août 2010 à 13:49
Re-,
Euh, as-tu vérifié l'échelle de tes axes? (double-clic sur les axes, onglet "échelle")
Pour voir
Euh, as-tu vérifié l'échelle de tes axes? (double-clic sur les axes, onglet "échelle")
Pour voir
je dois changer quelque chose?
dans cet onglet le min (08/04/2007)le max (29/03/2009)st cochés et l'unité principale est a 21 la secondaire a 1 l'axe des ordonnées y coupe a (08/04/2007)
j'ai oublié de dire que j'etais novice et que je "répare" cette macro
merci!
dans cet onglet le min (08/04/2007)le max (29/03/2009)st cochés et l'unité principale est a 21 la secondaire a 1 l'axe des ordonnées y coupe a (08/04/2007)
j'ai oublié de dire que j'etais novice et que je "répare" cette macro
merci!
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
30 août 2010 à 14:09
30 août 2010 à 14:09
Re-,
Et la date, dans la dernière colonne, est-elle supérieure au 29/03/2010?
Si oui, modifie la valeur max...
Nota, les dates sont-elles dans la 1ère ligne?
Si oui, on peut également modifier la valeur max de l'échelle par ce même code, démarre l'enregistreur de macro lorsque tu fais cette opération
Et la date, dans la dernière colonne, est-elle supérieure au 29/03/2010?
Si oui, modifie la valeur max...
Nota, les dates sont-elles dans la 1ère ligne?
Si oui, on peut également modifier la valeur max de l'échelle par ce même code, démarre l'enregistreur de macro lorsque tu fais cette opération
les dates sont bien dans la premiere ligne et la date max est le 29/03/2009
que dois-je changer?
désolée et merci!
que dois-je changer?
désolée et merci!
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
30 août 2010 à 14:21
30 août 2010 à 14:21
Re-,
Essaie ce code (je n'utilise pas les .Select, comme tu peux le remarquer...)
Uniquement valable, si les dates sont dans la 1ère ligne...
Bon courage
Essaie ce code (je n'utilise pas les .Select, comme tu peux le remarquer...)
Sub code_pour_vba() Dim Col As String, Col1 As String Dim Nb As Integer Dim Cht As Chart Dim ValMax As Long Set Cht = Sheets("Item_per").ChartObjects("Chart 37").Chart ValMax = Application.Max(Rows(1)) Nb = Sheets("Item_per").Rows("1:2").Find("*", , , , xlByColumns, xlPrevious).Column Col = "R1C" & Nb Col1 = "R2C" & Nb With Cht With .SeriesCollection(1) .Formula = _ "=SERIES(Item_per!R2C1,Item_per!R1C2:" & Col & ",Item_per!R2C2:" & Col1 & ",1)" End With With .Axes(xlCategory) .MaximumScale = ValMax .MajorUnit = 21 End With End With End Sub
Uniquement valable, si les dates sont dans la 1ère ligne...
Bon courage
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
30 août 2010 à 14:33
30 août 2010 à 14:33
Re-,
Je te propose de joindre ton fichier, avec des données bidons, mais les vrais dates, en utilisant un de ces sites :
www.cjoint.fr
www.cijoint.fr
colles le lien qu'on te donne dans ta réponse, on va voir ce qu'on peut faire
Je te propose de joindre ton fichier, avec des données bidons, mais les vrais dates, en utilisant un de ces sites :
www.cjoint.fr
www.cijoint.fr
colles le lien qu'on te donne dans ta réponse, on va voir ce qu'on peut faire
ce sont des données que je ne peux pas mettre sur internet désolée
merci pour ton aide en tous cas!
merci pour ton aide en tous cas!
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
950
30 août 2010 à 15:17
30 août 2010 à 15:17
Salut le forum
Excusez mon intrusion
Épure le fichier des données confidentielles et envoi la structure avec ta macro.
Pour joindre un fichier, tu crèes un lien à l'aide de
https://www.cjoint.com/ ou de http://cijoint.fr/ et tu
recopies le lien dans ton prochain message.
Mytå
Excusez mon intrusion
Épure le fichier des données confidentielles et envoi la structure avec ta macro.
Pour joindre un fichier, tu crèes un lien à l'aide de
https://www.cjoint.com/ ou de http://cijoint.fr/ et tu
recopies le lien dans ton prochain message.
Mytå
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
30 août 2010 à 15:05
30 août 2010 à 15:05
Re-,
en relisant, j'ai peut-être mal déterminé l'onglet qui contient le graphique....
Vérifie le nom de l'onglet (j'ai supposé, sans doute à tort, qu'il était dans l'onglet "Item_per")
Modifie le nom de l'onglet dans cette ligne :
Pour voir...
en relisant, j'ai peut-être mal déterminé l'onglet qui contient le graphique....
Vérifie le nom de l'onglet (j'ai supposé, sans doute à tort, qu'il était dans l'onglet "Item_per")
Modifie le nom de l'onglet dans cette ligne :
Set Cht = Sheets("Item_per").ChartObjects("Chart 37").Chart
Pour voir...
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
30 août 2010 à 15:21
30 août 2010 à 15:21
Re-,
Euh, Item, ou item (attention à l'orthographe, majuscule, minuscule, espaces avant ou après......)
Sinon, pour le fichier, juste l'onglet, avec des données bidons, cela suffit....
Tu fais un clic droit sur l'onglet, "Déplacer", "Dans le classeur : Nouveau Classeur"
Modifie les données, les noms, etc......
Enregistre, et si tu peux l'envoyer, ce sera bien plus facile....
Vérifie également que le graphique s'appelle bien "Chart 37"
Pour ce faire, démarre l'enregistreur de macro, sélectionne le graphique, et stoppe l'enregistreur...
Dans VBE, regarde le code généré, et note le nom du graphique
Bon courage
Euh, Item, ou item (attention à l'orthographe, majuscule, minuscule, espaces avant ou après......)
Sinon, pour le fichier, juste l'onglet, avec des données bidons, cela suffit....
Tu fais un clic droit sur l'onglet, "Déplacer", "Dans le classeur : Nouveau Classeur"
Modifie les données, les noms, etc......
Enregistre, et si tu peux l'envoyer, ce sera bien plus facile....
Vérifie également que le graphique s'appelle bien "Chart 37"
Pour ce faire, démarre l'enregistreur de macro, sélectionne le graphique, et stoppe l'enregistreur...
Dans VBE, regarde le code généré, et note le nom du graphique
Bon courage
voila le lien je ne sais pas si cela va vous aider
merci
http://www.cijoint.fr/cjlink.php?file=cj201008/cijYBef3B0.xls
merci
http://www.cijoint.fr/cjlink.php?file=cj201008/cijYBef3B0.xls
cousinhub29
Messages postés
985
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
9 janvier 2025
349
30 août 2010 à 15:38
30 août 2010 à 15:38
Re-,
Si tu as effectivement copié l'onglet, je ne vois pas de graphique.....
Es-tu sûre que le graphique est bien sur cet onglet? (il aurait du apparaître....)
@ te relire
Si tu as effectivement copié l'onglet, je ne vois pas de graphique.....
Es-tu sûre que le graphique est bien sur cet onglet? (il aurait du apparaître....)
@ te relire