Pb : passer d'une référence verticale à horizontale ?

  • Initiateur de la discussion Initiateur de la discussion WorkHard
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

W

WorkHard

Guest
For i = 1 To 7
Range("a" & i)

C'est ce que j'utilise pour faire référence à des données placés verticalement :

A1 : 6
A2 : 5
A3 : 12
... : ...

Mais je voudrai faire référence à des données horizontales :

A1 - B1 - C1 - ...
6 5 12 ...

Connaissez-vous l'écriture adaptée ?

Merci d'avance
 
Re : Pb : passer d'une référence verticale à horizontale ?

Merci beaucoup à vous 2.

Je suis débutant c'est pour ça que mes questions sont faciles mais un jour viendra où je poserai des questions dures (quand je connaîtrai plus de choses), lol.

Encore merci.
 
Re : Pb : passer d'une référence verticale à horizontale ?

Merci beaucoup à vous 2.

Je suis débutant c'est pour ça que mes questions sont faciles mais un jour viendra où je poserai des questions dures (quand je connaîtrai plus de choses), lol.

Encore merci.


Il n'y a de questions faciles que celles qui ne se posent pas !

Bon courage dans ton apprentissage, et à bientôt peut-être ?

Cordialement.
 
Re : Pb : passer d'une référence verticale à horizontale ?

Bonjour

J'ai oublié de préciser quelque chose tout à l'heure, je voulais faire commencer la ligne de données dans la case F21 et donc avec l'écriture "Cells (21,i)" ça ne fonctionne pas, ça marche que pour un départ en A21.
J'ai donc essayé tout un tas de chose mais je n'y arrive pas. J'imagine que ça vous paraît simple mais moi je suis bloqué parce que je suis un débutant, lol.

La discussion de tout à l'heure:
https://www.excel-downloads.com/threads/pb-passer-dune-reference-verticale-a-horizontale.132741/

Remplace
For i = 1 To .Range("IV" & 1).End(xlToLeft).Column

par

For i = 6 To .Range("IV" & 1).End(xlToLeft).Column
 
Re : Pb : passer d'une référence verticale à horizontale ?

Voilà où j'en suis :

Private Sub Worksheet_Change(ByVal Target As Range)

ChartObjects("Graphique 1").Activate

For i = 1 To 7
Select Case Cells(21, i)
Case 0 To 99
ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 0
Case 100 To 249
ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 43
Case 250 To 399
ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 44
Case 400 To 549
ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 45
Case 550 To 700
ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 3
End Select

Next i
ActiveCell.Select

End Sub
 
Re : Pb : passer d'une référence verticale à horizontale ?

Tu utilises une seule variable (i) pour désigner la colonne de la feuille et la donnée correspondante dans ton graphique. Il faut donc en tenir compte dans ton code :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

ChartObjects("Graphique 1").Activate

For i = 6 To 12
    Select Case Cells(21, i)
        Case 0 To 99
            ActiveChart.SeriesCollection(1).Points([COLOR="Red"][B]i - 5[/B][/COLOR]).Interior.ColorIndex = 0
        Case 100 To 249
            ActiveChart.SeriesCollection(1).Points([COLOR="Red"][B]i - 5[/B][/COLOR]).Interior.ColorIndex = 43
        Case 250 To 399
            ActiveChart.SeriesCollection(1).Points([COLOR="Red"][B]i - 5[/B][/COLOR]).Interior.ColorIndex = 44
        Case 400 To 549
            ActiveChart.SeriesCollection(1).Points([COLOR="Red"][B]i - 5[/B][/COLOR]).Interior.ColorIndex = 45
        Case 550 To 700
            ActiveChart.SeriesCollection(1).Points([COLOR="Red"][B]i - 5[/B][/COLOR]).Interior.ColorIndex = 3
    End Select

Next i
ActiveCell.Select

End Sub

Ou plus simplement :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

ChartObjects("Graphique 1").Activate

For i = 1 To 7
    Select Case Cells(21, [COLOR="Red"][B]i+5[/B][/COLOR])
        Case 0 To 99
            ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 0
        Case 100 To 249
            ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 43
        Case 250 To 399
            ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 44
        Case 400 To 549
            ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 45
        Case 550 To 700
            ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 3
    End Select

Next i
ActiveCell.Select

End Sub

Tes couleurs se mettent bien à jour, mais il faut également que tu prévoies la mise à jour des valeurs de tes barres.

Espérant t'avoir aidé.

Cordialement.
 
Dernière édition:
Re : Pb : passer d'une référence verticale à horizontale ?

Tu as résolu mais problème, merci. Je n'aurai jamais pensé à ça, d'ailleurs je t'avoues que je n'ai pas bien saisie la subtilité. Je suis vraiment novice.
 
Re : Pb : passer d'une référence verticale à horizontale ?

Tu as résolu mais problème, merci. Je n'aurai jamais pensé à ça, d'ailleurs je t'avoues que je n'ai pas bien saisie la subtilité. Je suis vraiment novice.

Tu analyses les colonnes 6 (F) à 12 (L) avec l'indice i, mais dans ton graphique, les barres sont numérotées automatiquement de 1 à 7 : d'où l'obligation de retirer 5 à i pour la mise à jour du graphique. Ou bien d'ajouter 5 à i dans la 2ème proposition afin de déplacer l'analyse sur les colonnes F à L.

Me suis-je bien fait compris ?

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
9
Affichages
1 K
D
Réponses
4
Affichages
1 K
Réponses
12
Affichages
1 K
Réponses
4
Affichages
1 K
Retour