Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Balayage d'un range et changement de la valeur des cellules

6 réponses
Avatar
Albatroz
Salut tout le monde,

J'ai un dans mafeuille excel un um range (colonne B a H) dans lequel
j'aimerais convertir la valeur (en tonne) vers des livres (LB)


Voila mon code:

Dim LBMT As Variant

LBMT = Worksheets("MSA").Range("c" & 1).Value

If LBMT = "MT" Then


For j = 2 To 8

For i = 8 To Cells(65000, 5).End(xlUp).Row
Range(Cells(i.Row, j.Column)).Value =
Range(Cells(i.Row, j.Column)).Value * 2214
Next i
Next j


End If

End Sub

Vous l'aurez deviner, cela ne marche pas; ca bloque la ligne:
Range(Cells(i.Row, j.Column)).Value = Range(Cells(i.Row,
j.Column)).Value * 2214

Mais Pourquoi??


Merci d'avance pour vos reponses.

++

6 réponses

Avatar
Daniel
Bonjour.
Pourquoi "Range(cells...." ? Enlève "range" puisque "cells" définit déjà un
range.
Cordialement.
Daniel
"Albatroz" a écrit dans le message de news:

Salut tout le monde,

J'ai un dans mafeuille excel un um range (colonne B a H) dans lequel
j'aimerais convertir la valeur (en tonne) vers des livres (LB)


Voila mon code:

Dim LBMT As Variant

LBMT = Worksheets("MSA").Range("c" & 1).Value

If LBMT = "MT" Then


For j = 2 To 8

For i = 8 To Cells(65000, 5).End(xlUp).Row
Range(Cells(i.Row, j.Column)).Value > Range(Cells(i.Row, j.Column)).Value * 2214
Next i
Next j


End If

End Sub

Vous l'aurez deviner, cela ne marche pas; ca bloque la ligne:
Range(Cells(i.Row, j.Column)).Value = Range(Cells(i.Row,
j.Column)).Value * 2214

Mais Pourquoi??


Merci d'avance pour vos reponses.

++



Avatar
anonymousA
Bonjour,

tout simplement parce que i et j sont des valeurs reconnues par Excel
comme des valeurs de type différents d'un range et i.row et j.column
n'ont aucun sens si i et j ne sont pas des objets range.

A+


Salut tout le monde,

J'ai un dans mafeuille excel un um range (colonne B a H) dans lequel
j'aimerais convertir la valeur (en tonne) vers des livres (LB)


Voila mon code:

Dim LBMT As Variant

LBMT = Worksheets("MSA").Range("c" & 1).Value

If LBMT = "MT" Then


For j = 2 To 8

For i = 8 To Cells(65000, 5).End(xlUp).Row
Range(Cells(i.Row, j.Column)).Value > Range(Cells(i.Row, j.Column)).Value * 2214
Next i
Next j


End If

End Sub

Vous l'aurez deviner, cela ne marche pas; ca bloque la ligne:
Range(Cells(i.Row, j.Column)).Value = Range(Cells(i.Row,
j.Column)).Value * 2214

Mais Pourquoi??


Merci d'avance pour vos reponses.

++



Avatar
anonymousA
Bonjour,

ca ne marchera pas non plus.

A+

Bonjour.
Pourquoi "Range(cells...." ? Enlève "range" puisque "cells" définit déjà un
range.
Cordialement.
Daniel
"Albatroz" a écrit dans le message de news:

Salut tout le monde,

J'ai un dans mafeuille excel un um range (colonne B a H) dans lequel
j'aimerais convertir la valeur (en tonne) vers des livres (LB)


Voila mon code:

Dim LBMT As Variant

LBMT = Worksheets("MSA").Range("c" & 1).Value

If LBMT = "MT" Then


For j = 2 To 8

For i = 8 To Cells(65000, 5).End(xlUp).Row
Range(Cells(i.Row, j.Column)).Value >> Range(Cells(i.Row, j.Column)).Value * 2214
Next i
Next j


End If

End Sub

Vous l'aurez deviner, cela ne marche pas; ca bloque la ligne:
Range(Cells(i.Row, j.Column)).Value = Range(Cells(i.Row,
j.Column)).Value * 2214

Mais Pourquoi??


Merci d'avance pour vos reponses.

++







Avatar
Albatroz
Exact ca ne marche pas non plus,
Mais que faut il faire alors, as tu une solution AnonymousA?
Merci
Avatar
anonymousA
Ben oui, il suffit d'écrire cells(i,j) qui là va désigner une cellule
donc un objet de type range dont la propriété value est du coup valide.

For j = 2 To 8

For i = 8 To Cells(65000, 5).End(xlUp).Row
Cells(i, j).Value Îlls(i, j).Value * 2214
Next i

Next j

A+

Exact ca ne marche pas non plus,
Mais que faut il faire alors, as tu une solution AnonymousA?
Merci



Avatar
Albatroz
Merci ca marche comme sur des roulettes.