supprimer des lignes, des colonnes par VB.

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #19763891
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


Greg
Le #19764351
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" 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






Daniel.C
Le #19764341
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" 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








Caetera
Le #19764841
> 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
Greg
Le #19765041
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" 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



Daniel.C
Le #19765951
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


Caetera
Le #19766061
>> [A1:AB28].SpecialCells(xlCellTypeBlanks).Columns.Delete





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



Même en essayant ?...

Etc
LSteph
Le #19766211
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"
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"


> 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 -


LSteph
Le #19766201
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"
> 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


Daniel.C
Le #19766271
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


Publicité
Poster une réponse
Anonyme