OVH Cloud OVH Cloud

While .... wend

5 réponses
Avatar
Nito
Bonjour à tous,
Voici mon problème,
Excel 2000,
À partir de la cellule "A4" de la feuille "Feuil1", je veux que ma procédure
fasse ce qui suit:

Se rendre à la première cellule de la colonne "A" dont les 7 premières
colonnes de la ligne active soient vides.

Pour ce faire, j'ai conçu la procédure suivante:

Sub nito()
Sheets("feuil1").Select
Range("a4").Select
Set plage = Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 7))
While Not plage Is Nothing
ActiveCell.Offset(1, 0).Select
Wend
End Sub

Je n'arrive pas à la faire fonctionner comme du monde, qu'est-ce qui cloche?

Merci

Nito

5 réponses

Avatar
isabelle
bonjour Nito,

tu ne vérifie pas si les cellules sont vide,
tu créer un objet plage qui représente 7 cellules donc l'objet n,est jamais "rien" mais tougours 7 cellules.
il faut vérifier le contenu de cette plage : countA(plage)

Sub nito1()
Sheets("feuil1").Select
For i = 4 To 10 'tester de la cellule A4 à A10
If Application.CountA(Range(Cells(i, 1), Cells(i, 7))) = 0 Then
Cells(i, 1).Select
Exit For
End If
Next
'suite de la macro s'il y a..
End Sub

isabelle


Bonjour à tous,
Voici mon problème,
Excel 2000,
À partir de la cellule "A4" de la feuille "Feuil1", je veux que ma procédure
fasse ce qui suit:

Se rendre à la première cellule de la colonne "A" dont les 7 premières
colonnes de la ligne active soient vides.

Pour ce faire, j'ai conçu la procédure suivante:

Sub nito()
Sheets("feuil1").Select
Range("a4").Select
Set plage = Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 7))
While Not plage Is Nothing
ActiveCell.Offset(1, 0).Select
Wend
End Sub

Je n'arrive pas à la faire fonctionner comme du monde, qu'est-ce qui cloche?

Merci

Nito


Avatar
isabelle
ou bien avec While..

Sub nito()
Sheets("feuil1").Select
Range("a4").Select
While Not Application.CountA(Range(Cells(ActiveCell.Row, 1), _
Cells(ActiveCell.Row, 7))) = 0
ActiveCell.Offset(1, 0).Select
Wend
End Sub

isabelle


bonjour Nito,

tu ne vérifie pas si les cellules sont vide,
tu créer un objet plage qui représente 7 cellules donc l'objet n,est jamais "rien" mais tougours 7 cellules.
il faut vérifier le contenu de cette plage : countA(plage)

Sub nito1()
Sheets("feuil1").Select
For i = 4 To 10 'tester de la cellule A4 à A10
If Application.CountA(Range(Cells(i, 1), Cells(i, 7))) = 0 Then
Cells(i, 1).Select
Exit For
End If
Next
'suite de la macro s'il y a..
End Sub

isabelle


Bonjour à tous,
Voici mon problème,
Excel 2000,
À partir de la cellule "A4" de la feuille "Feuil1", je veux que ma procédure
fasse ce qui suit:

Se rendre à la première cellule de la colonne "A" dont les 7 premières
colonnes de la ligne active soient vides.

Pour ce faire, j'ai conçu la procédure suivante:

Sub nito()
Sheets("feuil1").Select
Range("a4").Select
Set plage = Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 7))
While Not plage Is Nothing
ActiveCell.Offset(1, 0).Select
Wend
End Sub

Je n'arrive pas à la faire fonctionner comme du monde, qu'est-ce qui cloche?

Merci

Nito




Avatar
Nito
Merci Isabelle,
Ta réponse m'a permis de trouver la solution, la voici pour le bénéfice de
tous.

Sub nito1()
Sheets("feuil1").Select
Range("a4").Select
While Application.CountA(Range(Cells(ActiveCell.Row, 1),
Cells(ActiveCell.Row, 7))) <> 0
ActiveCell.Offset(1, 0).Select
Wend
Cells(ActiveCell.Row, 1).Select
End Sub

Merci encore une fois,

Nito


"isabelle" a écrit dans le message news:

bonjour Nito,

tu ne vérifie pas si les cellules sont vide,
tu créer un objet plage qui représente 7 cellules donc l'objet n,est
jamais "rien" mais tougours 7 cellules.

il faut vérifier le contenu de cette plage : countA(plage)

Sub nito1()
Sheets("feuil1").Select
For i = 4 To 10 'tester de la cellule A4 à A10
If Application.CountA(Range(Cells(i, 1), Cells(i, 7))) = 0 Then
Cells(i, 1).Select
Exit For
End If
Next
'suite de la macro s'il y a..
End Sub

isabelle


Bonjour à tous,
Voici mon problème,
Excel 2000,
À partir de la cellule "A4" de la feuille "Feuil1", je veux que ma
procédure


fasse ce qui suit:

Se rendre à la première cellule de la colonne "A" dont les 7 premières
colonnes de la ligne active soient vides.

Pour ce faire, j'ai conçu la procédure suivante:

Sub nito()
Sheets("feuil1").Select
Range("a4").Select
Set plage = Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 7))
While Not plage Is Nothing
ActiveCell.Offset(1, 0).Select
Wend
End Sub

Je n'arrive pas à la faire fonctionner comme du monde, qu'est-ce qui
cloche?



Merci

Nito




Avatar
isabelle
c'était avec plaisir Nito,

pour réduire la macro, tu peux enlever la dernière commande
Cells(ActiveCell.Row, 1).Select
car celle ci ne fait que sélectionner la cellule qui est déjà active.

isabelle


Merci Isabelle,
Ta réponse m'a permis de trouver la solution, la voici pour le bénéfice de
tous.

Sub nito1()
Sheets("feuil1").Select
Range("a4").Select
While Application.CountA(Range(Cells(ActiveCell.Row, 1),
Cells(ActiveCell.Row, 7))) <> 0
ActiveCell.Offset(1, 0).Select
Wend
Cells(ActiveCell.Row, 1).Select
End Sub

Merci encore une fois,

Nito

"isabelle" a écrit dans le message news:

bonjour Nito,

tu ne vérifie pas si les cellules sont vide,
tu créer un objet plage qui représente 7 cellules donc l'objet n,est
jamais "rien" mais tougours 7 cellules.

il faut vérifier le contenu de cette plage : countA(plage)

Sub nito1()
Sheets("feuil1").Select
For i = 4 To 10 'tester de la cellule A4 à A10
If Application.CountA(Range(Cells(i, 1), Cells(i, 7))) = 0 Then
Cells(i, 1).Select
Exit For
End If
Next
'suite de la macro s'il y a..
End Sub

isabelle


Bonjour à tous,
Voici mon problème,
Excel 2000,
À partir de la cellule "A4" de la feuille "Feuil1", je veux que ma
procédure


fasse ce qui suit:

Se rendre à la première cellule de la colonne "A" dont les 7 premières
colonnes de la ligne active soient vides.

Pour ce faire, j'ai conçu la procédure suivante:

Sub nito()
Sheets("feuil1").Select
Range("a4").Select
Set plage = Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 7))
While Not plage Is Nothing
ActiveCell.Offset(1, 0).Select
Wend
End Sub

Je n'arrive pas à la faire fonctionner comme du monde, qu'est-ce qui
cloche?



Merci

Nito






Avatar
AV
Pour arriver à tes fins, une seule ligne de code :

Cells([match("",A4:A1000&B4:B1000&C4:C1000&D4:D1000&E4:E1000&F4:F1000&G4:G1000,0
)] + 3, "A").Select

AV