Macros excel 2003

Résolu
Nina78000 Messages postés 10 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

j'ai débute avec des macros, et peut être ce n'est pas très claire ce que je demande.
j'ai besoin pour mon travail quotidien,
j'ai crée qq macros pour les tableaux divers, la mise en page est parfait, mais a chaque fois il faut adapter et corriger mes tableaux, car les macros initiale ne correspond pas toujours aux nombre lignes, ça change tt les jours.
mes macros s arrête sur la ligne de tableau initial et il ne "savent pas lire" la vrais fin colonne (page).
on ma dit que il y a une formule, mais je ne trouve pas la quelle.
merci pour votre aide

4 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    un petit résumé

    Sub LesDer()
    Dim DerCel As Range
    Dim DerCol As Long, DerLig As Long
    
    ' les dernières de la feuille
    DerLig = Cells.Find("*", , , , xlByRows, xlPrevious).Row
    DerCol = Cells.Find("*", , , , xlByColumns, xlPrevious).Column
    Set DerCel = Cells(DerLig, DerCol)
    MsgBox "La dernière ligne utilisé est la ligne : " & DerLig
    MsgBox "La dernière colonne utilisée est la colonne : " & DerCol
    MsgBox DerCel.Address
    
    ' dernière ligne colonne A
    DerLig = Range("A" & Rows.Count).End(xlUp).Row
    
    ' dernière colonne ligne 1
    DerCol = Cells(1,Columns.Count).End(xltoLeft).Column
    
    End Sub

    on put y ajouter pour coordonnées plage renseignée

    Public Sub ders()
    Dim a As String, derli as long , derco as string, premli as long, premco as string
    a = ActiveSheet.UsedRange.Address
    derli = Split(a, "$")(4)
    derco = Split(a, "$")(3)
    premli = Replace(Split(a, "$")(2), ":", "")
    premco = Split(a, "$")(1)
    End Sub

    Cdlmnt
    0
  2. Nina78000 Messages postés 10 Statut Membre
     
    Bonjour et merci de votre réponse,

    je vais tester et je vous tien au courant.

    cdt
    0
  3. Nina78000 Messages postés 10 Statut Membre
     
    re-Bonjour,

    je n'ai pas compris comment il faut modifier le nombre lignes en illimités.
    Voila un extrait de mon macros que j'utilise tt les jour.
    et bien sur, je corrige manuellement le nombre de lignes, car ce nombre change tt le temps.
    Je voudrais que K465 se transforme en nombre ligne par rapport aux autres colonnes existantes. (En plus il y la mise en page dans ce extrait.)mais ça ne pas important

    Range("K2").Select
    ActiveCell.FormulaR1C1 = "=RC[-7]+RC[-1]"
    Range("K2").Select
    Selection.AutoFill Destination:=Range("K2:K465")
    Range("K2:K465").Select
    ActiveWindow.SmallScroll ToRight:=-3
    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    With Selection.Interior
    .ColorIndex = 50
    .Pattern = xlSolid
    End With

    merci de votre aide
    0
    1. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Remplaces
      Range("K2:K465").Select 
      par
      derli = Range("K" & Rows.Count.End(xlUp).Row
      pour la dernière ligne utilisée colonne K
      ou
      derli = Range("L" & Rows.Count.End(xlUp).Row
      pour la dernière ligne non vide colonne L
      ou ....
      puis dans tous les cas
      Range("K2:K" & derli).Select

      N'oublies pas de déclarer derli (as long) dans la liste des variables

      Bon courage
      0
    2. Nina78000 Messages postés 10 Statut Membre
       
      merci bcp pour votre aide,

      j'ai réussi
      0
    3. ccm81 Messages postés 11033 Statut Membre 2 434
       
      De rien

      Peux tu mettre le problème à résolu (en haut à droite de ton premier message)

      Bonne journée
      0
  4. Nina78000 Messages postés 10 Statut Membre
     
    merci bcp.

    je vais tester au plus vite.
    ça me plaît bcp - des macros, ça me fascine, mais, malheureusement, je ne comprend pas grand chose, je me débrouille :)
    0