Copier une formule jusqu'à la fin d'1 tableau

Storm42 Messages postés 19 Statut Membre -  
Storm42 Messages postés 19 Statut Membre -
Bonjour à tous,

J'ai un petit problème pour faire une macro excel 2007.
Je cherche à copier une formule dans la case C1 dans l'intégralité de la colonne en l'arretant à la fin du tableau.
j'aimerai aussi creer un graphique qui reprenne toutes ces valeurs: une date en A1 et le resultat de la formule en C1 avec une autre courbe dont les données serait dans la colonne B.

J'èspere avoir été clair. Et j'èspere que quelqu'un pourra m'aider.

Je vous remercie d'avance.

Maxime.
A voir également:

7 réponses

melanie1324 Messages postés 1561 Statut Membre 156
 
Bonjour,

pour la macro qui copie la formule :
sub x

i=1
do while cells(i,1) <> "" 'une boucle qui tourne sur la colonne A pour déterminer le nombre d elignes. Si tu as un trou dans la colonne A ca ne marchera pas
i=i+1
loop
cells(1,3).copy
range(cells(1,3),cells(i-1,3)).select
activesheet.paste
cells(1,3).select
loop

end sub

Pour les graphiques, enregistre une macro, fais tes courbes et mets ton code ici.
Je ferais les adaptations qu'il faut.
0
Storm42 Messages postés 19 Statut Membre
 
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=""Temperature"""
ActiveChart.SeriesCollection(1).Values = _
"='Sheet1'!$C$1:$C$884,'Sheet1'!$G$1:$G$884,'Sheet1'!$K$1:$K$884"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=""Error"""
ActiveChart.SeriesCollection(2).Values = _
"='Sheet1'!$D$1:$D$884,'Sheet1'!$H$1:$H$884,'Sheet1'!$L$1:$L$884"
ActiveWindow.SmallScroll Down:=-3

Ca donne ca, si c'est bien ce que tu me demande.
Et merci enfaite j'y suis arriver pour copier ma formule.
Me manque plus que le graphique qui prend juste les donnees et pas plus loin...
(desole pour les accents et fautes je suis avec un clavier anglais....)
0
ed
 
salut,

je te conseille d'enregistrer une macro, c'est le plus simple pour ce genre de question.

ed
0
melanie1324 Messages postés 1561 Statut Membre 156
 
bonjour,

essaie avec ca :

i = 2
Do While Cells(i, 1) <> ""
i = i + 1
Loop
i = i - 1
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=""Temperature"""
ActiveChart.SeriesCollection(1).Values = _
"='Sheet1'!$C$1:$C$" & i & ",'Sheet1'!$G$1:$G$" & i & ",'Sheet1'!$K$1:$K$" & i
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=""Error"""
ActiveChart.SeriesCollection(2).Values = _
"='Sheet1'!$D$1:$D$" & i & ",'Sheet1'!$H$1:$H$" & i & ",'Sheet1'!$L$1:$L$" & i
0
Storm42 Messages postés 19 Statut Membre
 
Merci beaucoup, ca selectionne bien les donnees que je veux c'est parfait :).
0
Storm42 Messages postés 19 Statut Membre
 
J'ai juste une autre autre question, meme deux...
Pour mettre un bouton sur la page excel avec le 2007, c'est possible? Car j'ai trouver pour mettre dans la barre des outils rapides mais pas sur la page...
La deuxieme est: peut on redimemtionner une image sur excel en double cliquant dessus... et lui redonner ca forme de base en redouble cliquant dessus.

Merci.

Redesoler pour les accents et fautes, ce clavier anglais m'enerve au plus haut point.
0
Storm42 Messages postés 19 Statut Membre
 
Enfin si redimmensionner est trop dur, ouvrir l'image sous windows lorsque l'on clique dessus sous excel est tres bien aussi.
0
Storm42 Messages postés 19 Statut Membre
 
Bon je suis un peu desesperer, au debut ca marchait et j'ai voulu tout mettre dans une seul macro et j'obtiens 9 courbes differentes au lieu de mes deux que j'avais...

voici le programme:

Range("M2,B:B,C:C,F:F,G:G,J:J,K:K").Select
Range("K1").Activate
Selection.Replace What:="*:", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Range("D1").Select
ActiveCell.FormulaR1C1 = "=ABS(RC[-2])-ABS(RC[-1])"
Range("D1").Select
Selection.Copy
Range("H1").Select
ActiveSheet.Paste
Range("L1").Select
ActiveSheet.Paste

Range("D1").AutoFill Range("D1:D" & Range("C65536").End(xlUp).Row)

Range("H1").AutoFill Range("H1:H" & Range("G65536").End(xlUp).Row)

Range("L1").AutoFill Range("L1:L" & Range("K65536").End(xlUp).Row)

i = 2
Do While Cells(i, 1) <> ""
i = i + 1
Loop
i = i - 1
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=""Temperature"""
ActiveChart.SeriesCollection(1).Values = _
"='Sheet1'!$C$1:$C$" & i & ",'Sheet1'!$G$1:$G$" & i & ",'Sheet1'!$K$1:$K$" & i
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=""Error"""
ActiveChart.SeriesCollection(2).Values = _
"='Sheet1'!$D$1:$D$" & i & ",'Sheet1'!$H$1:$H$" & i & ",'Sheet1'!$L$1:$L$" & i
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ed
 
salut,

pour mettre un bouton (auquel tu affectes une macro je suppose) c'est là :
onglet "Développeur" > Insérer > Contrôles de formulaires > Icône en forme de bouton.

pour ce qui est de ta question avec le graphique, peu-être peux tu t'inspirer de ça :

Dim plage As Range
Dim graphique As ChartObject

Set plage = Sheets("Feuil1").Range("A1:H12")
Set graphique = ActiveSheet.ChartObjects.Add(100, 50, 300, 300)

With graphique
.Chart.SetSourceData Source:=plage
.Chart.Axes(xlCategory, xlPrimary).CategoryType = xlCategoryScale
.Chart.ChartType = xlLineMarkers
End With

`Mise en forme de graphique type "x,y" (pas avec un numéro de valeur en abscisses)
For i = 1 To 7
.SeriesCollection(i).XValues = plageT 'là tu définis la plage de tes abscisses
Next
0
Storm42 Messages postés 19 Statut Membre
 
C'est dingue quand meme... pour le bouton dans office 2007 impossible de le trouver....
Merci Ed je vais essayer ce que tu m'a donner, mais c'est pour le probleme du dimensionnement ou des 9 courbes? ( si je me trompe pas c'est pour le dimensionnemt....desoler je m'y connais pas assez encore...)
0
Storm42 Messages postés 19 Statut Membre
 
Ok j'ai trouver une solution... creer un forme a laquelle j'applique une macro...
Mais c'est pas un bouton...
0
ed
 
salut !

afficher l'onglet développeur :

http://office.microsoft.com/...

pour ce qui est du code, il ne s'agit pas de redimensionner mais de faire un graphique de manière simple.

bon courage,
ed
0
Storm42 Messages postés 19 Statut Membre
 
Bonjour,
Bon j'ai tellement de questions...
J'aimerai lorsque l'on clique sur une image inserer dans excen que celui-ci la retrouve et l'ouvre dans windows.
Merci.
0
ed
 
re,
mets un hyperlien... je crois que c'est le plus simple.

ou alors tu mets un écouteur d'événement lorqu'on clique sur une case et tu lies un lien du type suivant :

Range("A1").Select
ActiveSheet.Pictures.Insert("C:\VBA\test.jpg").Select
Selection.Name = "nom-image"

pour ce qui est de l'événement tu peux utiliser le code suivant avec une condition sur la sélection (appartenance à une cellule par exemple, dans laquelle tu sais que si tu cliques tu fais apparaître l'image):


Private Sub Worksheet_Change(ByVal Target As Range)

'permet de sortir de la procédure si plus d'une cellule est sélectionnée
'(sinon la suite de la macro renvoie un message d'erreur)
If Target.Count > 1 Then Exit Sub

MsgBox "Vous venez de modifier la cellule " & Target.Address & _
" (" & Target.Value & ")"

End Sub
0
Storm42 Messages postés 19 Statut Membre
 
Merci bien pour votre aide.
Je suis arriver a faire ce aue je voulai avec votre aide et l'aide d'un gas plus caler dans la boite anglaise ou je suis.
0