Seléctionner les 3 dernières colonnes d'un ta

ron13 -  
Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Après des recherches infructueuses je me retourne vers vous. J'ai une feuille de calcul excel qui n'a jamais le même format et je souhaite simplement trouver une macro qui séléctionnera les 3 dernières colonnes.
Comme ces colonnes ne sont pas dans les mêmes numéros de colonnes je n'arrive pas à trouver le moyen de les seléctionner.
La seule chose qui permette de les réperer sont que ce sont les 3 dernières colonnes avant qu'il n'ai plus rien j'avais donc pensé à cela mais cela ne fonctionne pas :

Sub séléction_colonne()

For i = 1 To 100
If Cells(1, i).Value = "" Then i = nb
Columns("nb").Select
Columns("nb-1").Select
Columns("nb-2").Select
End Sub

D'autant que ce qui ne m'arrange pas dans cette méthode et que je dois faire une boucle, n' y a t'il pas plus simple ?

Merci de votre aide

Bon après midi à vous.

2 réponses

  1. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   957
     
    Salut le forum

    Pour trouver la dernière colonne utilisée de la ligne #1

    dercol = Range("IV1").End(xlToLeft).Column

    Mytå

    0
    1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      Bonjour Myta,

      le IV1 est bon pour une version 2003, mais pour une version 2007 ou 2010, la dernière colonne correspond à XFD. Du coup, pour rechercher la dernière colonne utilisée de la ligne 1, on écrit :
      DernCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column

      (voir l'astuce de pijaku).

      Cordialement
      0
  2. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   957
     
    Salut le forum

    Au finale ça pourrait donner ceci comme code pour la ligne 1

    Dim NumCol As Long
    
    NumCol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
    
    If NumCol < 3 Then MsgBox "Sélection impossible": Exit Sub
    
    Cells(1, NumCol).Offset(, -2).Resize(, 3).Select
    

    Mytå
    0