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

Plantage dans procédure

9 réponses
Avatar
Didier Novarin
Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter, mais
cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub

9 réponses

Avatar
JLuc
*Bonjour Didier Novarin*,
A ta place, j'eviterais d'utiliser Cell comme variable (pour la boucle
For...Next). C'est un mot reserve d'excel. Prends cel ou cellule

Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter, mais
cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Daniel
Bonjour.
Mets :
Set Plage2 = Plage.Offset(0, 2)
au lieu de
Plage2 = Plage.Offset(0, 2)
Cordialement.
Daniel
"JLuc" a écrit dans le message de news:

*Bonjour Didier Novarin*,
A ta place, j'eviterais d'utiliser Cell comme variable (pour la boucle
For...Next). C'est un mot reserve d'excel. Prends cel ou cellule

Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter,
mais cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





Avatar
Jacky
Re...
Voir message précédent
JJ

"Didier Novarin" a écrit dans le message de
news:
Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter, mais
cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub




Avatar
Didier Novarin
Ok merci beaucoup à tous
Très bonne soirée
Didier

"Daniel" a écrit dans le message de news:

Bonjour.
Mets :
Set Plage2 = Plage.Offset(0, 2)
au lieu de
Plage2 = Plage.Offset(0, 2)
Cordialement.
Daniel
"JLuc" a écrit dans le message de news:

*Bonjour Didier Novarin*,
A ta place, j'eviterais d'utiliser Cell comme variable (pour la boucle
For...Next). C'est un mot reserve d'excel. Prends cel ou cellule

Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter,
mais cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O









Avatar
lSteph
Bonsoir Didier,

Sub Le_test()
Application.ScreenUpdating = False
Dim i As Long
For i = 1 To [A65536].End(xlUp).Row
With Cells(i, 3)
.Value = .Offset(0, -2) & " " & .Offset(0, -1)
End With
Next
Application.ScreenUpdating = True
End Sub

'lSteph

"Didier Novarin" a écrit dans le message de
news:
Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter, mais
cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub



Avatar
Didier Novarin
Bonjour LSteph
Je te remercie beaucoup
Cela fonctionne très bien
Bonne journée
Didier

"lSteph" a écrit dans le message de news:
%23Aar%
Bonsoir Didier,

Sub Le_test()
Application.ScreenUpdating = False
Dim i As Long
For i = 1 To [A65536].End(xlUp).Row
With Cells(i, 3)
.Value = .Offset(0, -2) & " " & .Offset(0, -1)
End With
Next
Application.ScreenUpdating = True
End Sub

'lSteph

"Didier Novarin" a écrit dans le message de
news:
Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter,
mais cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub







Avatar
Ange Ounis
A ta place, j'eviterais d'utiliser Cell comme variable (pour la boucle
For...Next). C'est un mot reserve d'excel.


Décidément, les idées fausses ont la vie dure !!!
Qu'est-ce qui peut bien donner un semblant de justification à ce canard ?

----------
Ange Ounis
----------

*Bonjour Didier Novarin*,
A ta place, j'eviterais d'utiliser Cell comme variable (pour la boucle
For...Next). C'est un mot reserve d'excel. Prends cel ou cellule

Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter,
mais cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub





Avatar
Jacky
Bonjour Ange

Oui, oui, je peux...;o))
Bien que ce soit ancien, sur xl97 plantage complet du système
Bien que ce soit avec Cells dans une ligne seule.
Mais bon, je crois que l'on en a déjà débattu la dessus.
JJ

"Ange Ounis" a écrit dans le message de
news:
A ta place, j'eviterais d'utiliser Cell comme variable (pour la boucle
For...Next). C'est un mot reserve d'excel.


Décidément, les idées fausses ont la vie dure !!!
Qu'est-ce qui peut bien donner un semblant de justification à ce canard ?

----------
Ange Ounis
----------

*Bonjour Didier Novarin*,
A ta place, j'eviterais d'utiliser Cell comme variable (pour la boucle
For...Next). C'est un mot reserve d'excel. Prends cel ou cellule

Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter,
mais cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub







Avatar
Ange Ounis
Bien que ce soit ancien, sur xl97 plantage complet du système
Bien que ce soit avec Cells dans une ligne seule.


Cells est un mot clé du langage VBA, aucun doute là-dessus, et ton expérience de
plantage avec cet objet t'a visiblement marqué, ce que je peux comprendre (même
sans en connaître le contexte et les conséquences concrètes pour le travail que
tu avais en cours à ce moment-là).
Mais ceci dit il n'y a absolument aucun risque que le 'compilateur' de VBA
prenne Cells pour cell et Lycée de Versailles. Même un langage aussi 'laxiste'
par bien des côtés que le VBA ne saurait s'autoriser pareille confusion :))

Mais bon, je crois que l'on en a déjà débattu la dessus.


Désolé si nous avons déjà eu ce débat, mais j'ai du mal, je le reconnais, à
laisser passer une information, disons, sujette à caution, dans la mesure où
celles qui sont fournies dans ce groupe sont très largement diffusées et où ce
qui fait pour une grande part le succès de ces forums de discussion entre
utilisateurs est la pertinence des informations qu'on y trouve.
Au point que Microsoft soi-même renvoie les demandeurs d'aide ici sans même les
en informer clairement ;-)

----------
Ange Ounis
----------

Bonjour Ange

Oui, oui, je peux...;o))
Bien que ce soit ancien, sur xl97 plantage complet du système
Bien que ce soit avec Cells dans une ligne seule.
Mais bon, je crois que l'on en a déjà débattu la dessus.
JJ

"Ange Ounis" a écrit dans le message de
news:
A ta place, j'eviterais d'utiliser Cell comme variable (pour la boucle
For...Next). C'est un mot reserve d'excel.


Décidément, les idées fausses ont la vie dure !!!
Qu'est-ce qui peut bien donner un semblant de justification à ce canard ?

----------
Ange Ounis
----------

*Bonjour Didier Novarin*,
A ta place, j'eviterais d'utiliser Cell comme variable (pour la boucle
For...Next). C'est un mot reserve d'excel. Prends cel ou cellule

Bonsoir
J'ai grâce à vous Jluc et Jacky une procédure que j'essaie d'adapter,
mais cela plante
Je vous remercie
Didier

Sub Le_test()
Application.ScreenUpdating = False
Dim Debut As Range, Fin As Range
Dim Plage As Range
Set Debut = Range("A2")
Set Fin = Range("A65536").End(xlUp)
Set Plage = Range(Debut, Fin)
Plage2 = Plage.Offset(0, 2)
For Each Cell In Plage2
'Plantage ici
Cell = (Cell.Offset(0, -2) & " " & Cell.Offset(0, -1))
Next
Application.ScreenUpdating = True
End Sub