Chercher dernière colonne non vide dans une plage définie

huahailu

XLDnaute Nouveau
Bonjour le forum,
J'aurais besoin de votre aide sur une question qui me paraissait simple au début mais qui me bloque maintenant.
Sur une plage de données (par exemple "A2:IV30"), comment retrouver la dernière colonne qui contient une valeur?
Le but étant de supprimer ensuite toute les colonnes se trouvant après cette dernière colonne...
Je joins un petit fichier qui peut-être, expliquera ce que je souhaite faire.
Vous remerciant tous par avance pour votre aide,
Bonne journée à tous,
Cordialement
Pascal
 

Pièces jointes

  • DerColonnePlage.xls
    19.5 KB · Affichages: 46

TempusFugit

XLDnaute Impliqué
Re : Chercher dernière colonne non vide dans une plage définie

Bonjour


ATTENTION
Cette macro fait ce que tu souhaites
(Les colonnes qui contiennent que l'entête , soit une seule valeur, seront effacées)
(à condition que tes colonnes ne soient pas vides)
Code:
Sub Supprimer()
Dim i As Long
For i = 2 To 256 'je commence à 2 sinon la colonne 1 serait effacé
If Application.CountA(Columns(i)) = 1 Then
Columns(i).Delete
End If
Next i
End sub

EDIT: Le code proposé dans le message suivant est plus mieux.
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Chercher dernière colonne non vide dans une plage définie

Bonjour,

Code:
Sub SupColTrop()
  Range(Cells([A2:IV1000].Find("*", , , , xlByColumns, xlPrevious).Column + 1), Cells(1, 254)).EntireColumn.Delete
End Sub

JB
 

Pièces jointes

  • Copie de DerColonnePlage.xls
    36 KB · Affichages: 50
Dernière édition:

huahailu

XLDnaute Nouveau
Re : Chercher dernière colonne non vide dans une plage définie

Merci beaucoup david84 et TempusFugit,
Vos solutions fonctionnent avec le classeur que j'ai envoyé, parfait. Mais j'ai oublié de noter qu'en fait toutes les cellules ont une formule à l'intérieur, et que seules celles qui ont une valeur devaient être prises en compte... Mea culpa!!
En tout cas vos réponses m'ont montrées d'autres chemins à explorer et je vous en remercie.
@+
Pascal
 

huahailu

XLDnaute Nouveau
Re : Chercher dernière colonne non vide dans une plage définie

Merci,
Je pense que vous êtes la personne vers qui m'a envoyé david84.
J'ai mis le lien dans mes favoris et je pense que cela va grandement améliorer mes pauvres connaissances en VBA.
Si vous avez une solution pour différencier une cellule avec formule sans résultat d'une cellule avec formule et résultat, je suis preneur.
La solution est peut-être déjà sur votre site, donc j'y retourne dés maintenant...
Cordialement
Pascal
 

david84

XLDnaute Barbatruc
Re : Chercher dernière colonne non vide dans une plage définie

Re
Mais j'ai oublié de noter qu'en fait toutes les cellules ont une formule à l'intérieur, et que seules celles qui ont une valeur devaient être prises en compte... Mea culpa!!
Si tu places en J10
=SI(H11>1;"";H11)
, la formule ne prend pas cette donnée en compte et renvoie toujours 8.
Pour plus de clarté, place un exemple concret sur un fichier.
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 371
Messages
2 087 698
Membres
103 644
dernier inscrit
bsalah