VBA-Ecrire dans une cellule la valeur d’une variable texte

Bonjour,

J’ai un souci que je ne parviens pas à résoudre.

Il s’agit d’écrire dans une cellule la valeur d’une variable texte.

La valeur de cette variable est elle-même issue de la valeur d’une autre cellule (en fonction de quelques tests préalables).

Je vous montre ce qui ne marche pas :

Sub grandemacro()

Dim critère As String

‘ toute une série de tests pour définir quelle cellule viendra donner sa valeur à la variable critère, ici le test aboutit sur S5 dans laquelle il est inscrit XX

critère = Range("S5").Value

Sheets("Rapport").Select

Cells(1, 1).Value = critère

‘rien ne s’affiche en A1 de la feuille rapport

‘la valeur de la variable critère quand je fais du pas à pas est : « XX », critère semble donc bien prendre la valeur souhaitée

End Sub

‘Et j’ai fait un test, ceci fonctionne :

Sub textevariabledanscellule()

Dim critère As String

critère = "XX"

Cells(1, 1).Value = critère

‘il s’affiche en A1 de la feuille rapport le texte souhaité : XX

End Sub

Pourrait-ce provenir de la cellule S5 ? critère prend pourtant bien la valeur souhaitée…

Merci d’avance de vos réponses.

Bonjour,

Tu as tout intérêt à prendre l'habitude d'indiquer explicitement sur quel objet s'applique l'instruction.

Exemple :

Sub grandemacro()
Dim critère As String
    critère = ActiveSheet.Range("S5").Value
    Sheets("Rapport").Cells(1, 1).Value = critère
End Sub

A+

Bonsoir,

Chez moi, ton code fonctionne à condition bien sûr, d'être sur la bonne feuille quand charge critère du contenu de S5 :

critère = Range("S5").Value

est égal à

critère = activesheet.Range("S5").Value

donc si tu n'es pas sur la bonne feuille, le résultat en sera faussé.

Sur ce point, je suis en phase avec Franguy et en plus c'est parfois beaucoup plus compréhensible :

Sheets("Rapport").Cells(1, 1).Value = Sheets("Feuil1").Range("S5").Text donne le même résultat

Rechercher des sujets similaires à "vba ecrire valeur variable texte"