Formule vba

Bonjour a tous,

voici la formule :

Dim x As String, y As String, n As String

x = 4
y = 6
Do While y < 21
With Sheets("T")
n = Cells(y, 18).Value
Cells(x, n) = Cells(x, n) + 1
End With
x = x + 1
y = y + 3
Loop

donne le resultat sur 2 lignes et la macro s'arrêt et affiche ceci

https://www.cjoint.com/c/KCvgxQ86Z2u
si vous pouviez m'aider svp

bien à vous

Configuration: Windows / Opera 74.0.3911.218

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Avant tout, pensez à utiliser les balises de code pour vos exemples. Ici Basic :


    Il manque manifestement le point (.) pour rattacher vos objets ou méthodes à la feuilles 'T" lorsque vous utilisez With => .Cells()

    Dim x As String, y As String, n As String
    x = 4
    y = 6
    Do While y < 21
    	With Sheets("T")
    		n = .Cells(y, 18).Value
    		.Cells(x, n) = .Cells(x, n) + 1
    	End With
    	x = x + 1
    	y = y + 3
    Loop
    
    1. bonjour,

      merci de pouvoir m'aider, je viens de voir que toutes mes celleules ne sont as plaine, d'ou la faute.
      peut t'ont rajouter une formule pour lui faire comprendre cette erreur?
      1. Contributeur
        Bonjour

        Merci de mettre en pièce jointe le classeur Excel et non une photo qui ne nous sert à rien. d'avance merci. De plus, j'ai un refus de chargement du png...
        x,y,n sont des nombres (ici "byte") et non des textes ("string")

        pour les cellules vides que veux tu faire: message d'erreur ? passer outre ? autre ????

        cordialement