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

supprimer des lignes, des colonnes par VB.

24 réponses
Avatar
Greg
Bonsoir,

1) Je souhaite supprimer (et non masquer) toutes les colonnes dont les
cellules sont vides sur la première ligne (ligne 1), pour les 28 premières
colonnes seulement. Quel code me permettrait d'atteindre l'objectif?

2) Est-ce réalisable pour l'élimination des lignes lorsque la première
cellule (en colonne A) est vide, et ce pour les 32 premières lignes?

Merci de votre aide

Greg

10 réponses

1 2 3
Avatar
Daniel.C
Bonsoir.
Pour le point 1 :
Sub test()
Dim i As Integer
For i = 28 To 1 Step -1
If Cells(1, i) = "" Then
Columns(i).Delete
End If
Next i
End Sub
Essaie de modifier la macro pour le point 2.
Daniel

Bonsoir,

1) Je souhaite supprimer (et non masquer) toutes les colonnes dont les
cellules sont vides sur la première ligne (ligne 1), pour les 28 premières
colonnes seulement. Quel code me permettrait d'atteindre l'objectif?

2) Est-ce réalisable pour l'élimination des lignes lorsque la première
cellule (en colonne A) est vide, et ce pour les 32 premières lignes?

Merci de votre aide

Greg


Avatar
Greg
Rebonsoir,

Je suis arrivé à ça qui a l'air de fonctionner:

Sub test2()
Dim i As Integer
For i = 32 To 1 Step -1
If Cells(i, 1) = "" Then
Rows(i).Delete
End If
Next i
End Sub

Est-ce exact, Ô grand Daniel?

Merci

Greg
"Daniel.C" a écrit dans le message de
news:
Bonsoir.
Pour le point 1 :
Sub test()
Dim i As Integer
For i = 28 To 1 Step -1
If Cells(1, i) = "" Then
Columns(i).Delete
End If
Next i
End Sub
Essaie de modifier la macro pour le point 2.
Daniel

Bonsoir,

1) Je souhaite supprimer (et non masquer) toutes les colonnes dont les
cellules sont vides sur la première ligne (ligne 1), pour les 28
premières colonnes seulement. Quel code me permettrait d'atteindre
l'objectif?

2) Est-ce réalisable pour l'élimination des lignes lorsque la première
cellule (en colonne A) est vide, et ce pour les 32 premières lignes?

Merci de votre aide

Greg






Avatar
Daniel.C
Ca m'a tout l'air d'être ça.
Daniel (tout court !)

Rebonsoir,

Je suis arrivé à ça qui a l'air de fonctionner:

Sub test2()
Dim i As Integer
For i = 32 To 1 Step -1
If Cells(i, 1) = "" Then
Rows(i).Delete
End If
Next i
End Sub

Est-ce exact, Ô grand Daniel?

Merci

Greg
"Daniel.C" a écrit dans le message de
news:
Bonsoir.
Pour le point 1 :
Sub test()
Dim i As Integer
For i = 28 To 1 Step -1
If Cells(1, i) = "" Then
Columns(i).Delete
End If
Next i
End Sub
Essaie de modifier la macro pour le point 2.
Daniel

Bonsoir,

1) Je souhaite supprimer (et non masquer) toutes les colonnes dont les
cellules sont vides sur la première ligne (ligne 1), pour les 28 premières
colonnes seulement. Quel code me permettrait d'atteindre l'objectif?

2) Est-ce réalisable pour l'élimination des lignes lorsque la première
cellule (en colonne A) est vide, et ce pour les 32 premières lignes?

Merci de votre aide

Greg








Avatar
Caetera
> 1) Je souhaite supprimer (et non masquer) toutes les colonnes dont les
cellules sont vides sur la première ligne (ligne 1), pour les 28 premières
colonnes seulement. Quel code me permettrait d'atteindre l'objectif?



2) Est-ce réalisable pour l'élimination des lignes lorsque la première cellule
(en colonne A) est vide, et ce pour les 32 premières lignes?



***************

Tu as déjà posé la question.......
Inutile et pas performant de faire une boucle

Réponse 1)
[A1:AB28].SpecialCells(xlCellTypeBlanks).Columns.Delete

Réponse 2)
[A1:A32].SpecialCells(xlCellTypeBlanks).Rows.Delete

Etc
Avatar
Greg
Bonjour Caetera,

C'est vrai que j'avais posé la question, et suite à l'évolution du port,
j'avais mis le problème en stand by. J'ai pourtant relancé la question dans
le post d'origine le 14/07 à 00h09. Mais comme je n'avais pas de retour
...que la question était quand même un peu différente... qu'il fallait que
j'avance... voilà... humbles excuses...

Merci pour ta réponse.

Greg



"Caetera" <EtiennePloufCahé@wanadoo.fr> a écrit dans le message de
news:
1) Je souhaite supprimer (et non masquer) toutes les colonnes dont les
cellules sont vides sur la première ligne (ligne 1), pour les 28
premières colonnes seulement. Quel code me permettrait d'atteindre
l'objectif?



2) Est-ce réalisable pour l'élimination des lignes lorsque la première
cellule (en colonne A) est vide, et ce pour les 32 premières lignes?



***************

Tu as déjà posé la question.......
Inutile et pas performant de faire une boucle

Réponse 1)
[A1:AB28].SpecialCells(xlCellTypeBlanks).Columns.Delete

Réponse 2)
[A1:A32].SpecialCells(xlCellTypeBlanks).Rows.Delete

Etc



Avatar
Daniel.C
Bonjour.
A mon humble avis, ça na fonctionne pas... même si c'est performant.
[A1:AB1].SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
peut-être ;-)
Daniel

1) Je souhaite supprimer (et non masquer) toutes les colonnes dont les
cellules sont vides sur la première ligne (ligne 1), pour les 28 premières
colonnes seulement. Quel code me permettrait d'atteindre l'objectif?



2) Est-ce réalisable pour l'élimination des lignes lorsque la première
cellule (en colonne A) est vide, et ce pour les 32 premières lignes?



***************

Tu as déjà posé la question.......
Inutile et pas performant de faire une boucle

Réponse 1)
[A1:AB28].SpecialCells(xlCellTypeBlanks).Columns.Delete

Réponse 2)
[A1:A32].SpecialCells(xlCellTypeBlanks).Rows.Delete

Etc


Avatar
Caetera
>> [A1:AB28].SpecialCells(xlCellTypeBlanks).Columns.Delete





A mon humble avis, ça na fonctionne pas...



Même en essayant ?...

Etc
Avatar
LSteph
Bonjour,

(Une solution sans boucle n'est pas toujours directement applicable
mais lorsqu'elle est possible autant aller au plus direct).
Pour répondre selon cette solution avec boucle si tu utilises une sub
pour des lignes
je te recommande de définir i as long plutot que integer car sinon
dans le cas où tu voudrais
effectuer un traitement sur une grande qté de lignes tu serais limité
à 32768.
Sinon c'est correct et tu as bien fait de procèder en remontant, dès
lors qu'il y a des suppressions.

--
lSteph

On 15 juil, 23:59, "Greg" wrote:
Rebonsoir,

Je suis arrivé à ça qui a l'air de fonctionner:

Sub test2()
Dim i As Integer
For i = 32 To 1 Step -1
    If Cells(i, 1) = "" Then
        Rows(i).Delete
    End If
Next i
End Sub

Est-ce exact, Ô grand Daniel?

Merci

Greg
"Daniel.C" a écrit dans le message denews:eL



> Bonsoir.
> Pour le point 1 :
> Sub test()
> Dim i As Integer
> For i = 28 To 1 Step -1
>    If Cells(1, i) = "" Then
>        Columns(i).Delete
>    End If
> Next i
> End Sub
> Essaie de modifier la macro pour le point 2.
> Daniel

>> Bonsoir,

>> 1) Je souhaite supprimer (et non masquer) toutes les colonnes dont les
>> cellules sont vides sur la première ligne (ligne 1), pour les 28
>> premières colonnes seulement. Quel code me permettrait d'atteindre
>> l'objectif?

>> 2) Est-ce réalisable pour l'élimination des lignes lorsque la prem ière
>> cellule (en colonne A) est vide, et ce pour les 32 premières lignes?

>> Merci de votre aide

>> Greg- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
LSteph
Bonjour,

Attention cela décale de ce qui serait rempli plus à droite car ne
traite que la cellule.
ceci serait préférable:

[A1:A32].SpecialCells(xlCellTypeBlanks).EntireRow.Delete

--
lSteph


On 16 juil, 07:07, "Caetera" <EtiennePloufCahé@wanadoo.fr> wrote:
> 1) Je souhaite supprimer (et non masquer) toutes les colonnes dont les
> cellules sont vides sur la première ligne (ligne 1), pour les 28 prem ières
> colonnes seulement. Quel code me permettrait d'atteindre l'objectif?
> 2) Est-ce réalisable pour l'élimination des lignes lorsque la premi ère cellule
> (en colonne A) est vide, et ce pour les 32 premières lignes?

***************

Tu as déjà posé la question.......
Inutile et pas performant de faire une boucle

Réponse 1)
[A1:AB28].SpecialCells(xlCellTypeBlanks).Columns.Delete

Réponse 2)
[A1:A32].SpecialCells(xlCellTypeBlanks).Rows.Delete

Etc


Avatar
Daniel.C
Je n'écrirais pas cela sans avoir essayé. Pourquoi AB28 ? 28 étant le
nombre de colonnes, pas un nombre de lignes ?
Avec XL2007 en tout cas.
Daniel

[A1:AB28].SpecialCells(xlCellTypeBlanks).Columns.Delete





A mon humble avis, ça na fonctionne pas...



Même en essayant ?...

Etc


1 2 3