Pert d'une variable dans module

Résolu/Fermé
julien - 12 avril 2016 à 15:16
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 - 12 avril 2016 à 16:12
Bonjour,

J'ai consulté pleins de sujets qui me parle de déclarer en public et patati et patata mais j'ai tout essayé et sois je suis bêbête sois il n'y a pas la solution a ma problématique , qui je suis sûr est simple.

Voila , j'ai un code avec 24 fonction if succésives ( j'en met que 4 en exemple) et à la sortie de ces condition je voudrais appeler une variable qui est contenu dans ces fonctions ..

PROBLEME : la variable est vide !!! PK ??

Code :

'Ce programme permet de fussionner deux graphique

Public nom1 As String
Public nom2 As String Sub Fusionner_graph()
Dim graphiquef As String
Dim graphiquec As String



graphiquef = InputBox(prompt:="Indiquer le nom du paramètre à fusionner ")
graphiquec = InputBox(prompt:=" Indiquer le nom du paramètre à conserver ")

If graphiquef = TRA Then
graphiquef = "Graphique 1"
nom1 = Sheets("Sélection_données").Cells(1, 28) ' La variable nom prend la valeur de AB1 ( nom du paramètre)

Else
If graphiquef = NL Then
graphiquef = "Graphique 2"
nom1 = Sheets("Sélection_données").Range("AC1").Value ' La variable nom prend la valeur de AB1 ( nom du paramètre)
End If
End If
If graphiquec = TRA Then
graphiquec = "Graphique 1"
nom2 = Sheets("Sélection_données").Range("AM1").Value ' La variable nom prend la valeur de AB1 ( nom du paramètre)
Else
If graphiquec = NL Then
graphiquec = "Graphique 2"
nom2 = Sheets("Sélection_données").Range("AM1").Value ' La variable nom prend la valeur de AB1 ( nom du paramètre)
End If
End If

ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.Parent.Cut
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.Paste


With ActiveChart ' Avec le graphique actif ( 1)

.FullSeriesCollection(2).Select 'Sélection de la deuxième série
.FullSeriesCollection(2).AxisGroup = 2
.SetElement (msoElementSecondaryValueAxisTitleAdjacentToAxis)
.SetElement (msoElementPrimaryValueAxisTitleAdjacentToAxis)

With ActiveChart.FullSeriesCollection(1)
.ApplyDataLabels ' Mise en place d'étiquettes
.DataLabels.Select ' Selection des étiquettes
Selection.Position = xlLabelPositionAbove ' Position des étiquettes au dessus du point
.DataLabels.Format.TextFrame2.TextRange.InsertChartField msoChartFieldRange, "=Sélection_données!O2:O400 ", 0 ' La valeur des etiquette = O2:0400 ( FMC)
.DataLabels.Select ' Selection des étiquettes
Selection.ShowRange = True '
Selection.ShowValue = False ' Enlever la valeur du point
.HasLeaderLines = False
.DataLabels.Select ' Selection des étiquettes
Selection.Orientation = 4 ' Inversion de l'angle d'orientation
Selection.Orientation = 45 ' Incliner le texte de 45 ° ( Ecriture oblique )
End With

With .Axes(xlValue, xlPrimary) ' Sur l'axe vertical
.HasTitle = True ' Mis en place d'un titre
.AxisTitle.Characters.Text = nom2 ' Le titre est le nom du paramètre

End With

With .Axes(xlValue, xlSecondary) ' Sur l'axe vertical
.HasTitle = True ' Mis en place d'un titre
.AxisTitle.Characters.Text = nom1 ' Le titre est le nom du paramètre
End With
End With
End Sub

1 réponse

Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
12 avril 2016 à 15:19
Bonjour,

Pour ton 1er if, tu as juste sheets(zefzefzefze).cells(a,b), tu as oublié le .value.

Vérifie les autres lignes.
0
Salut pierre ,

Merci de ta réponse , mais cela ne change rien ..
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
12 avril 2016 à 15:30
Tu as vérifié via la méthode pas à pas que tu rentrais bien dans une condition et que la cellule dont tu voulais extraire la valeur possédait bien une valeur?
0
J'ai inséré une MsgBox avant la fin de la condition c'est ok , après la fin des condition c'est vide ..
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
12 avril 2016 à 15:38
Cela veut juste dire qu'il rentre entre temps dans une autre condition et qu'il prend la valeur d'une cellule vide d'où ton problème de valeur vide.
0
Négatif !

Je pense que la variable à une valeur affectée seulement pendant la condition et qu'après le END IF elle est effacer ..
0