Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Variable sur une ligne

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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😛 " & 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
Bonjour JULIAM92,

je te laisse essayer ce code VBA :
VB:
Sub Essai()
  Dim LASTLIGNE&, LASTCOL%
  LASTLIGNE = [E4].End(4).Row
  Cells(LASTLIGNE, "P") = "TOTO"
  LASTCOL = [E4].End(2).Column
  Cells(10, LASTCOL) = "TITI"
End Sub
soan
 
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 (salut Phil)

pour écrire sur la ligne 5, à partir de la colonne G et
jusqu'à la dernière colonne, utilise par exemple :

VB:
Sub Essai()
  Dim LASTCOL%, col%
  LASTCOL = [E4].End(2).Column
  For col = 7 To LASTCOL
    Cells(5, col) = col - 6
  Next col
End Sub
soan
 
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 (?)
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…