XL 2010 Variable sur une ligne

JULIAM92

XLDnaute Nouveau
Bonjour à vous,
Je reprends mes macros après une longue absence. On oublie vite !
Une macro avec un numéro de ligne variable marche bien :
Dim LASTLIGNE
Range ("E4").Select
Selection.End(xlDown).Select
LASTLIGNE = Activecell.row

Range ("P5:p " & LASTLIGNE).Select
Selection.Name = "TOTO"
etc...
Je n'arrive pas à faire la même chose en colonne !
Dim LASTCOL
Range ("E4").Select
Selection.End(xlToRight).Select
LASTCOL = ActiveCell.Column

Et là , je n'arrive pas à écrire que je veux sélectionner de la cellule G5 jusqu'à G LASTCOL. Je me sens bête... Help!
 
Solution
si ta ligne 22 est celle des en-têtes :
VB:
Sub Essai()
  Dim dlig&
  dlig = Cells(Rows.Count, 5).End(3).Row 'dernière ligne utilisée, selon la colonne E
  If dlig = 22 Then Exit Sub 'sortie si le tableau est vide : y'a aucune donnée !
  Dim dcol%, lig&, col%: Application.ScreenUpdating = 0
  dcol = Cells(22, Columns.Count).End(1).Column 'dernière colonne, selon ligne 22
  For lig = 25 To dlig
    For col = 5 To dcol
      'ici, mets le code VBA du job que tu veux faire pour chaque ligne
      '(des lignes 25 à dlig, et des colonnes E à dcol)
    Next col
  Next lig
End Sub
soan

Phil69970

XLDnaute Barbatruc
Bonjour Juliam92, le forum

Edit : Bonjour Soan

Essaye cela :
VB:
Dim Derlig As long '&
Dim DernCol As Integer '%
Derlig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
DernCol = Split(Range("A" & Derlig).CurrentRegion.Address, "$")(4)

@Phil69970
 
Dernière édition:

JULIAM92

XLDnaute Nouveau
En fait, je ne m'en sors pas vraiment.
Mon besoin exact est le suivant :
Je prends la ligne 22 de ma base de données. La ligne 22 sera toujours la référence, et j'ai besoin d'identifier la dernière colonne de cette ligne (aujourd'hui la colonne IG) pour l'utiliser ensuite sur d'autres lignes dont les cellules peuvent être partiellement vides,.
Mon objectif, c'est de pouvoir ensuite sur la ligne 25, sélectionner les données de E25 à IG 25, Idem pour les lignes 27,28,30... C'est IG que j'ai besoin de définir pour pouvoir écrire range("E25:collonnevariable25").select.
J'espère avoir été plus clair (?)
 

soan

XLDnaute Barbatruc
Inactif
si ta ligne 22 est celle des en-têtes :
VB:
Sub Essai()
  Dim dlig&
  dlig = Cells(Rows.Count, 5).End(3).Row 'dernière ligne utilisée, selon la colonne E
  If dlig = 22 Then Exit Sub 'sortie si le tableau est vide : y'a aucune donnée !
  Dim dcol%, lig&, col%: Application.ScreenUpdating = 0
  dcol = Cells(22, Columns.Count).End(1).Column 'dernière colonne, selon ligne 22
  For lig = 25 To dlig
    For col = 5 To dcol
      'ici, mets le code VBA du job que tu veux faire pour chaque ligne
      '(des lignes 25 à dlig, et des colonnes E à dcol)
    Next col
  Next lig
End Sub
soan
 

Discussions similaires

Statistiques des forums

Discussions
312 471
Messages
2 088 707
Membres
103 927
dernier inscrit
Mkeal