n=Activesheet.cells(y,18)
Sub testA()
Dim y&
y = 1
Cells(y, 18) = 1
MsgBox Cells(y, 18).Address
MsgBox Cells(2, Cells(y, 18)).Address
[A2] = 5
Cells(2, Cells(y, 18)) = Cells(2, Cells(y, 18)) + 1
MsgBox [A2]
End Sub
Sub testB()
[Y18] = 1
MsgBox [Y18].Address
MsgBox Cells(2, [Y18]).Address
[A2] = 5
Cells(2, [Y18]) = Cells(2, [Y18]) + 1
MsgBox [A2]
End Sub
Bonjour,Bonjour le fil
Selon comment on interprète la chose, la syntaxe varie
VB:Sub testA() Dim y& y = 1 Cells(y, 18) = 1 MsgBox Cells(y, 18).Address MsgBox Cells(2, Cells(y, 18)).Address [A2] = 5 Cells(2, Cells(y, 18)) = Cells(2, Cells(y, 18)) + 1 MsgBox [A2] End Sub Sub testB() [Y18] = 1 MsgBox [Y18].Address MsgBox Cells(2, [Y18]).Address [A2] = 5 Cells(2, [Y18]) = Cells(2, [Y18]) + 1 MsgBox [A2] End Sub
Bonjour,Bonjour Guismo33,
Merci de joindre un fichier sans donnée personnelle afin que l'on puisse t'aider correctement
n = Cells(y, 18).Value
re,Re,
Qu'est-ce que vous voulez faire exactement
Récupère une valeur vide à la ligne 12, donc erreur forcémentVB:n = Cells(y, 18).Value
De plus il serait bien de spécifier l'objet conteneur sur le quel vous travaillez, votre codage n'est absolument pas correcte
Commencez par apprendre les bases avant de vous lancer dans ce genre de chose
@+
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
if val(n)>0 then Cells(x, n) = Cells(x, n) + 1
End With
x = x + 1
y = y + 3
Loop
merci, c se que je cherchaisBonjour
il est vrai que le procédé relate une conception bancale
cependant si je m'en tiens a ton code j'ajoute simplement le test de valeur de N
VB: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 if val(n)>0 then Cells(x, n) = Cells(x, n) + 1 End With x = x + 1 y = y + 3 Loop