j'utilise la boucle suivante pour tester le contenu des cellules appartenant
à une plage de cellules
For Each c In [F3:IV3]
If LCase(c) Like "*" & "terminé" & "*" Then
c.Select
ActiveCell.EntireColumn.Select
Application.Run "TransfertArchive"
End If
Next c
mais dans "TransfertArchive" je supprime la colonne qui contient la première
valeur trouvée ce qui fait que lorsque je reviens au début, ma boucle décale
la recherche d'une colonne vers la droite (puisqu'il y a un décalage vers la
gauche lors de la suppression de la colonne)
au résultat il ne trouve q'une colonne sur deux dans la recherche.
j'ai vraiment besoin d'aide car je vois pas comment faire
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent FONTAINE
Désolé, je n'ai pas compris ta question.
-----Message d'origine----- j'utilise la boucle suivante pour tester le contenu des cellules appartenant
à une plage de cellules
For Each c In [F3:IV3] If LCase(c) Like "*" & "terminé" & "*" Then c.Select ActiveCell.EntireColumn.Select Application.Run "TransfertArchive" End If Next c
mais dans "TransfertArchive" je supprime la colonne qui contient la première
valeur trouvée ce qui fait que lorsque je reviens au début, ma boucle décale
la recherche d'une colonne vers la droite (puisqu'il y a un décalage vers la
gauche lors de la suppression de la colonne) au résultat il ne trouve q'une colonne sur deux dans la recherche.
j'ai vraiment besoin d'aide car je vois pas comment faire
.
Désolé, je n'ai pas compris ta question.
-----Message d'origine-----
j'utilise la boucle suivante pour tester le contenu des
cellules appartenant
à une plage de cellules
For Each c In [F3:IV3]
If LCase(c) Like "*" & "terminé" & "*" Then
c.Select
ActiveCell.EntireColumn.Select
Application.Run "TransfertArchive"
End If
Next c
mais dans "TransfertArchive" je supprime la colonne qui
contient la première
valeur trouvée ce qui fait que lorsque je reviens au
début, ma boucle décale
la recherche d'une colonne vers la droite (puisqu'il y a
un décalage vers la
gauche lors de la suppression de la colonne)
au résultat il ne trouve q'une colonne sur deux dans la
recherche.
j'ai vraiment besoin d'aide car je vois pas comment faire
-----Message d'origine----- j'utilise la boucle suivante pour tester le contenu des cellules appartenant
à une plage de cellules
For Each c In [F3:IV3] If LCase(c) Like "*" & "terminé" & "*" Then c.Select ActiveCell.EntireColumn.Select Application.Run "TransfertArchive" End If Next c
mais dans "TransfertArchive" je supprime la colonne qui contient la première
valeur trouvée ce qui fait que lorsque je reviens au début, ma boucle décale
la recherche d'une colonne vers la droite (puisqu'il y a un décalage vers la
gauche lors de la suppression de la colonne) au résultat il ne trouve q'une colonne sur deux dans la recherche.
j'ai vraiment besoin d'aide car je vois pas comment faire
.
Ellimac
Bonjour,
Sub Toto() Range("f3").Select While ActiveCell.Column <> 256 n = Application.CountIf (ActiveCell.EntireColumn, "*terminé*") If n >= 1 Then ActiveCell.EntireColumn.Delete Else ActiveCell.Offset(0, 1).Select End If n = Application.CountIf(Range(ActiveCell.Offset(-2), _ Range("iv65000")), "*terminé*") If n = 0 Then Exit Sub Wend End Sub
Camille
-----Message d'origine----- j'utilise la boucle suivante pour tester le contenu des cellules appartenant
à une plage de cellules
For Each c In [F3:IV3] If LCase(c) Like "*" & "terminé" & "*" Then c.Select ActiveCell.EntireColumn.Select Application.Run "TransfertArchive" End If Next c
mais dans "TransfertArchive" je supprime la colonne qui contient la première
valeur trouvée ce qui fait que lorsque je reviens au début, ma boucle décale
la recherche d'une colonne vers la droite (puisqu'il y a un décalage vers la
gauche lors de la suppression de la colonne) au résultat il ne trouve q'une colonne sur deux dans la recherche.
j'ai vraiment besoin d'aide car je vois pas comment faire
.
Bonjour,
Sub Toto()
Range("f3").Select
While ActiveCell.Column <> 256
n = Application.CountIf
(ActiveCell.EntireColumn, "*terminé*")
If n >= 1 Then
ActiveCell.EntireColumn.Delete
Else
ActiveCell.Offset(0, 1).Select
End If
n = Application.CountIf(Range(ActiveCell.Offset(-2), _
Range("iv65000")), "*terminé*")
If n = 0 Then Exit Sub
Wend
End Sub
Camille
-----Message d'origine-----
j'utilise la boucle suivante pour tester le contenu des
cellules appartenant
à une plage de cellules
For Each c In [F3:IV3]
If LCase(c) Like "*" & "terminé" & "*" Then
c.Select
ActiveCell.EntireColumn.Select
Application.Run "TransfertArchive"
End If
Next c
mais dans "TransfertArchive" je supprime la colonne qui
contient la première
valeur trouvée ce qui fait que lorsque je reviens au
début, ma boucle décale
la recherche d'une colonne vers la droite (puisqu'il y a
un décalage vers la
gauche lors de la suppression de la colonne)
au résultat il ne trouve q'une colonne sur deux dans la
recherche.
j'ai vraiment besoin d'aide car je vois pas comment faire
Sub Toto() Range("f3").Select While ActiveCell.Column <> 256 n = Application.CountIf (ActiveCell.EntireColumn, "*terminé*") If n >= 1 Then ActiveCell.EntireColumn.Delete Else ActiveCell.Offset(0, 1).Select End If n = Application.CountIf(Range(ActiveCell.Offset(-2), _ Range("iv65000")), "*terminé*") If n = 0 Then Exit Sub Wend End Sub
Camille
-----Message d'origine----- j'utilise la boucle suivante pour tester le contenu des cellules appartenant
à une plage de cellules
For Each c In [F3:IV3] If LCase(c) Like "*" & "terminé" & "*" Then c.Select ActiveCell.EntireColumn.Select Application.Run "TransfertArchive" End If Next c
mais dans "TransfertArchive" je supprime la colonne qui contient la première
valeur trouvée ce qui fait que lorsque je reviens au début, ma boucle décale
la recherche d'une colonne vers la droite (puisqu'il y a un décalage vers la
gauche lors de la suppression de la colonne) au résultat il ne trouve q'une colonne sur deux dans la recherche.
j'ai vraiment besoin d'aide car je vois pas comment faire