bonjour à tous,
Hier, 2 brillants dieux VBA m'ont aidé, et la soluce de PAPOU marche nickel,
sauf que .. (faut bien qu'il y ait kekchose!!)
Les données de mon graphique sont prises sur 2 colonnes de 50 cellules ou
les valeurs à retenir sont données par une formule
mon graphique affiche donc 50 etiquettes alors que je n'ai qu'une dizaine de
valeurs qui se complètent progressivement
j'ai don installé une macro evenement qui copie les valeurs des 2 colonnes
mais le graphique continue de penser qu'il y a 50 valeurs, sauf si je SUPP
les cellules vides
Je souhaiterais donc que ma macro ne selectionne que les cellules non vides
avant de les copier, mais là...je butte
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim CellChange As Range
Set CellChange = Range("A2:A50")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
'Call copieNumQu
Range("Q2:R50").Select
Selection.Copy
ActiveWindow.LargeScroll Down:=-1
Range("S2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("P2").Select
End If
End Sub
Si kekun saisit mon charabia et pênse pouvoir faire kekchose pour moi...
Merci d'avance
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Bonjour Gilles Heu ! ...brilliants dieux VBA tu vas un peu fort ! D'autant plus que dans mon fichier exemple la mise à jour auto ne comportait pas de macro (il y avait une macro à l'intérieur du classeur mais elle m'a servi de test pour autre chose) Tu vas trouver des infos chez Misange pour ce qui concerne les valeurs nulles ou les valeurs à ne pas prendre en compte dans un graphique, ici : http://www.excelabo.net/xl/graph.php
Cordialement Pascal
"gilles" a écrit dans le message de news:
bonjour à tous, Hier, 2 brillants dieux VBA m'ont aidé, et la soluce de PAPOU marche nickel, sauf que .. (faut bien qu'il y ait kekchose!!) Les données de mon graphique sont prises sur 2 colonnes de 50 cellules ou les valeurs à retenir sont données par une formule mon graphique affiche donc 50 etiquettes alors que je n'ai qu'une dizaine de valeurs qui se complètent progressivement j'ai don installé une macro evenement qui copie les valeurs des 2 colonnes mais le graphique continue de penser qu'il y a 50 valeurs, sauf si je SUPP les cellules vides Je souhaiterais donc que ma macro ne selectionne que les cellules non vides avant de les copier, mais là...je butte
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim CellChange As Range Set CellChange = Range("A2:A50") If Not Application.Intersect(CellChange, Range(Target.Address)) _ Is Nothing Then 'Call copieNumQu Range("Q2:R50").Select Selection.Copy ActiveWindow.LargeScroll Down:=-1 Range("S2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False Range("P2").Select End If End Sub
Si kekun saisit mon charabia et pênse pouvoir faire kekchose pour moi... Merci d'avance
Gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
Bonjour Gilles
Heu ! ...brilliants dieux VBA tu vas un peu fort !
D'autant plus que dans mon fichier exemple la mise à jour auto ne comportait
pas de macro (il y avait une macro à l'intérieur du classeur mais elle m'a
servi de test pour autre chose)
Tu vas trouver des infos chez Misange pour ce qui concerne les valeurs
nulles ou les valeurs à ne pas prendre en compte dans un graphique, ici :
http://www.excelabo.net/xl/graph.php
Cordialement
Pascal
"gilles" <gilles@discussions.microsoft.com> a écrit dans le message de news:
B5A84ECD-BE0C-44C9-8B7E-44E4F2BA2ABD@microsoft.com...
bonjour à tous,
Hier, 2 brillants dieux VBA m'ont aidé, et la soluce de PAPOU marche
nickel,
sauf que .. (faut bien qu'il y ait kekchose!!)
Les données de mon graphique sont prises sur 2 colonnes de 50 cellules ou
les valeurs à retenir sont données par une formule
mon graphique affiche donc 50 etiquettes alors que je n'ai qu'une dizaine
de
valeurs qui se complètent progressivement
j'ai don installé une macro evenement qui copie les valeurs des 2 colonnes
mais le graphique continue de penser qu'il y a 50 valeurs, sauf si je SUPP
les cellules vides
Je souhaiterais donc que ma macro ne selectionne que les cellules non
vides
avant de les copier, mais là...je butte
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim CellChange As Range
Set CellChange = Range("A2:A50")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
'Call copieNumQu
Range("Q2:R50").Select
Selection.Copy
ActiveWindow.LargeScroll Down:=-1
Range("S2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
Range("P2").Select
End If
End Sub
Si kekun saisit mon charabia et pênse pouvoir faire kekchose pour moi...
Merci d'avance
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire
aujourd'hui,
mais à chaque jour suffit sa peine...
Bonjour Gilles Heu ! ...brilliants dieux VBA tu vas un peu fort ! D'autant plus que dans mon fichier exemple la mise à jour auto ne comportait pas de macro (il y avait une macro à l'intérieur du classeur mais elle m'a servi de test pour autre chose) Tu vas trouver des infos chez Misange pour ce qui concerne les valeurs nulles ou les valeurs à ne pas prendre en compte dans un graphique, ici : http://www.excelabo.net/xl/graph.php
Cordialement Pascal
"gilles" a écrit dans le message de news:
bonjour à tous, Hier, 2 brillants dieux VBA m'ont aidé, et la soluce de PAPOU marche nickel, sauf que .. (faut bien qu'il y ait kekchose!!) Les données de mon graphique sont prises sur 2 colonnes de 50 cellules ou les valeurs à retenir sont données par une formule mon graphique affiche donc 50 etiquettes alors que je n'ai qu'une dizaine de valeurs qui se complètent progressivement j'ai don installé une macro evenement qui copie les valeurs des 2 colonnes mais le graphique continue de penser qu'il y a 50 valeurs, sauf si je SUPP les cellules vides Je souhaiterais donc que ma macro ne selectionne que les cellules non vides avant de les copier, mais là...je butte
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim CellChange As Range Set CellChange = Range("A2:A50") If Not Application.Intersect(CellChange, Range(Target.Address)) _ Is Nothing Then 'Call copieNumQu Range("Q2:R50").Select Selection.Copy ActiveWindow.LargeScroll Down:=-1 Range("S2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False Range("P2").Select End If End Sub
Si kekun saisit mon charabia et pênse pouvoir faire kekchose pour moi... Merci d'avance
Gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
gilles
Bonjour PAPOU si si , je persiste quand je vois les solutions que toi (et les autres forumistes) proposent et qui vous semblent évidentes, moi ça me laisse baba merci du tuyau Ci-joint mon code final qui peut surement être plus simple mais bon
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim CellChange As Range Set CellChange = Range("A2:A50") If Not Application.Intersect(CellChange, Range(Target.Address)) _ Is Nothing Then Call copieNumQu End If End Sub
Sub copieNumQu() Dim MaValeur, nbcell For nbcell = 1 To 50
Range("Q" & nbcell).Select MaValeur = ActiveCell.Value If Range("Q" & nbcell).Value <> 0 Then 'ne change rien Range("Q" & nbcell).Copy Range("S" & nbcell).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False End If Range("R" & nbcell).Select MaValeur = ActiveCell.Value If Range("R" & nbcell).Value <> 0 Then Range("R" & nbcell).Copy Range("T" & nbcell).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False End If
Next Call copieFormuleAqu Call essai_clear 'Call tri_affaires Call retourVersA Range("A1").Select End Sub
Encore merci et à + gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
Bonjour PAPOU
si si , je persiste
quand je vois les solutions que toi (et les autres forumistes) proposent et
qui vous semblent évidentes, moi ça me laisse baba
merci du tuyau
Ci-joint mon code final qui peut surement être plus simple mais bon
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim CellChange As Range
Set CellChange = Range("A2:A50")
If Not Application.Intersect(CellChange, Range(Target.Address)) _
Is Nothing Then
Call copieNumQu
End If
End Sub
Sub copieNumQu()
Dim MaValeur, nbcell
For nbcell = 1 To 50
Range("Q" & nbcell).Select
MaValeur = ActiveCell.Value
If Range("Q" & nbcell).Value <> 0 Then 'ne change rien
Range("Q" & nbcell).Copy
Range("S" & nbcell).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
End If
Range("R" & nbcell).Select
MaValeur = ActiveCell.Value
If Range("R" & nbcell).Value <> 0 Then
Range("R" & nbcell).Copy
Range("T" & nbcell).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:úlse, Transpose:úlse
Application.CutCopyMode = False
End If
Next
Call copieFormuleAqu
Call essai_clear
'Call tri_affaires
Call retourVersA
Range("A1").Select
End Sub
Encore merci et à +
gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
Bonjour PAPOU si si , je persiste quand je vois les solutions que toi (et les autres forumistes) proposent et qui vous semblent évidentes, moi ça me laisse baba merci du tuyau Ci-joint mon code final qui peut surement être plus simple mais bon
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim CellChange As Range Set CellChange = Range("A2:A50") If Not Application.Intersect(CellChange, Range(Target.Address)) _ Is Nothing Then Call copieNumQu End If End Sub
Sub copieNumQu() Dim MaValeur, nbcell For nbcell = 1 To 50
Range("Q" & nbcell).Select MaValeur = ActiveCell.Value If Range("Q" & nbcell).Value <> 0 Then 'ne change rien Range("Q" & nbcell).Copy Range("S" & nbcell).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False End If Range("R" & nbcell).Select MaValeur = ActiveCell.Value If Range("R" & nbcell).Value <> 0 Then Range("R" & nbcell).Copy Range("T" & nbcell).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :úlse, Transpose:úlse Application.CutCopyMode = False End If
Next Call copieFormuleAqu Call essai_clear 'Call tri_affaires Call retourVersA Range("A1").Select End Sub
Encore merci et à + gilles -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...