Macro pour sélection d'une colonne sur 3

Résolu/Fermé
Sousha - 20 janv. 2010 à 20:34
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 21 janv. 2010 à 13:29
Bonjour,

J'ai besoin de votre aide svp pour créer une macro qui sélectionne et copie des colonnes dans dans sur une autre feuille. Je dispose d'un tableau avec des colonnes de A à M. Le nombre de ligne peut varier mais pas celui des colonnes. sur la colonne A j'ai une liste de société et de B à M des mois glissants avec des chiffres pas société. Je voudrais créer une macro qui sélectionne la colonne A(les socétés), la colonne B et une colonne sur 3 à partir de la colonne B et ensuite les copie sur une autre feuille créée. Ce résultats sera les données des sociétés par trimestre. J'ai essayé de créer une macro mais à chaque exécution j'ai un message d'erreur: l'indice n'appartient pas à la sélection.

Sub test()

Dim Month, Quater As String
Dim C As Range

Sheets.Add
ActiveSheet.Name = "Quater"

Sheets("Month").Select
Range("A:A").Select
Selection.Copy
Sheets("Quater").Select
ActiveSheet.Paste

For Each C In Sheets("Month").Range("B:M")
'=1 Pour une colonne sur 3
If C.Column Mod 3 = 1 Then
C.Copy
Sheets("Quater").Select
ActiveSheet.Paste
End If
Next C
End Sub

Je cherche des solutions depuis des semaines mais en vain. J'ai besoin de votre aide pour y arrriver. Je vousremercie d'avance pour votre aide.
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
21 janv. 2010 à 10:44
Bonjour,
Vous dites : et une colonne sur 3 à partir de B. C'est à dire B, E, H, K?

Sinon simplement adaptez ce code :

Dim i As Integer, j as Integer
Sheets.Add 
ActiveSheet.Name = "Quater" 
With Sheets("Month")
.Columns(1).Copy Sheets("Quater").Range("A1")
j = 2
For  i = 2 to 12 Step 3
.Columns(i).Copy Sheets("Quater").Cells(1, j)
j = j + 1
Next
End With

0
Bonjour,

Je vous remercie infiniment pour votre aide.
La maco marche bien. Cela faisait des jours que je cherchais la solution mais en vain. Grand merci.

Pourrais abuser une dernière fois de vos connaissance svp si vous me le permettez.

J'ai un graphe en Barre avec en abscisse des chiffre et en ordonnée des nom de société et le grand total.
Je cherche à colorier uniquement la barre correspondant au Grand Total en rouge et mon code ne marche pas.

Sub MAJCcyBOP()
Dim SheetInput As String, i As Variant

SheetInput = "Sheet 1"

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(1).Select
For Each i In ActiveChart.SeriesCollection(1).Points
If ActiveChart.Axes(xlValues).AxisLabel.Name = "Grand Total" Then
ActiveChart.SeriesCollection(1).Points(i).Select
ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 3
End If
Next i
End Sub

Je suis débutante et j'ai encore du mal.

Grand MERCI pour votre aide
Sousha
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744 > Sousha
21 janv. 2010 à 13:29
Malheureusement, je ne vais pas pouvoir vous aider... Nul en graph...
Néanmoins, rien ne vous empêche d'ouvrir un nouveau sujet car la question est différente.
Je place celui ci en "résolu"
0