Aidez moi svp sur macro excel

Résolu
titine -  
 titine -
Bonjour,
Je fais une macro et j'aimerai que de la cellule A6 tout soit sélectionneé jusqu'à une cellule "Total"; qui est sur la même ligne. Puis que cette sélection s'étend vers le bas jusqu'à une cellule "Total" sur la colonne A.

Merci.
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    2
    1. titine
       
      Je cherche toujours mais je n'est pas de réponse convenable et j'essaye d'approfondir avec vous.
      0
  2. nikomania Messages postés 206 Statut Membre 22
     
    forcément j'avais pas vu que ton tableau commencait à la cellule A6 xD

    essaye ca

    Dim i As Integer
    Dim j As Integer
    i = 1
    j = 6
    Range("A6").Select
    While Cells(j, i).Value <> "total"
    i = i + 1
    Wend
    strad = Cells(j, i).Address(RowAbsolute:=False, ColumnAbsolute:=False)
    Range(Selection, strad).Select
    While Cells(j, 1) <> "total"
    j = j + 1
    Wend
    strad = Cells(j, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
    Range(Selection, strad).Select
    End Sub
    1
  3. nikomania Messages postés 206 Statut Membre 22
     
    Salut!

    s'agit-il d'un tableau non interrompu après lequel il y a une ligne / colonne vide ?

    si c'est le cas tu peux essayer ce code

    Range("A1").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select

    ca te selectionne de la cellule A1 jusqu'à la cellule A quelque chose (la dernière où il y a un texte avant une case vide)

    puis ça fait la même chose en direction du bas

    je sais pas si j'ai été clair...n'hésites pas
    0
    1. titine
       
      Merci Beaucoup mais ta formule ne fais pas se que je veux car c'ast une tableau qui sort d'ACCESS et il reste des données à la l'arrière mais non visible.
      C'est pour sa que je parle de Total!!
      0
  4. nikomania Messages postés 206 Statut Membre 22
     
    Hi

    Je viens de tester un truc

    Dim i As Integer
    Dim j As Integer
    i = 1
    j = 1
    Range("A1").Select
    While Cells(j, i).Value <> "total"
    i = i + 1
    Wend
    strad = Cells(j, i).Address(RowAbsolute:=False, ColumnAbsolute:=False)
    Range(Selection, strad).Select
    While Cells(j, 1) <> "total"
    j = j + 1
    Wend
    strad = Cells(j, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
    Range(Selection, strad).Select

    c'est peut etre pas le plus simple mais ça marche chez moi
    0
    1. titine
       
      Merci de chercher avec moi, ta formule bloque entre les premier while et wend
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. nikomania Messages postés 206 Statut Membre 22
     
    Après si ton "total" est écrit avec le T en majuscule, il faut que tu le change dans le code vba pour que ça marche ;-)
    0
    1. titine
       
      Oui j'ai changer car il est en majuscule.
      0
    2. nikomania Messages postés 206 Statut Membre 22 > titine
       
      et donc ça roule maintenant ?
      0
    3. titine > nikomania Messages postés 206 Statut Membre
       
      Non sa bloque entre le wend!!
      0
    4. titine > titine
       
      entre le while et le wend!!
      0
    5. nikomania Messages postés 206 Statut Membre 22 > titine
       
      mais t'as pris le deuxième code corrigé que je t'ai posté ? (j'avais pas vu que ton tableau commencait en A6)

      je te le remet si t'as sauté le message


      Dim i As Integer
      Dim j As Integer
      i = 1
      j = 6
      Range("A6").Select
      While Cells(j, i).Value <> "Total"
      i = i + 1
      Wend
      strad = Cells(j, i).Address(RowAbsolute:=False, ColumnAbsolute:=False)
      Range(Selection, strad).Select
      While Cells(j, 1) <> "Total"
      j = j + 1
      Wend
      strad = Cells(j, 1).Address(RowAbsolute:=False, ColumnAbsolute:=False)
      Range(Selection, strad).Select
      End Sub
      0
  7. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    La solution qu'a proposé Mike 31 marche chez lui...
    La solution qu' a propsé Nikomania marche chez lui...
    La solution que j'ai proposé marche chez moi...

    Donc...
    0
    1. titine
       
      C'est bon!!
      Moi, il bloque c'est tout!!
      Il ne me met pas de message
      0
      1. nikomania Messages postés 206 Statut Membre 22 > titine
         
        heu...il bloque...
        en général quand ça bloque c'est que t'as une boucle sans fin..mais dans ce cas précis elle ne peut pas être sans fin vu que le nombre de colonnes et de lignes ne sont pas illimitées dans Excel...donc il te mettra forcément un message d'erreur quand il voudra tester une cellule qui n'existe pas...

        a la limite envoie moi ton fichier par mail que j'y jette un coup d'oeil..
        0
  8. nikomania Messages postés 206 Statut Membre 22
     
    question con...t'es sûr que tes cellules "Total" ne contiennent que "Total" dedans ? vu que c'est une exportation, vérifie que t'as pas d'espace avant ou un truc du style
    0
    1. titine
       
      En fait, sa marche car il faut appuyer longtemps sur F8 puis il se débloque!!
      C'est inexplicable, non!!!
      0
      1. nikomania Messages postés 206 Statut Membre 22 > titine
         
        et si t'appuies sur F5 ?
        0
      2. titine > nikomania Messages postés 206 Statut Membre
         
        C'est vrai avec F5 ça marche nickel!!
        Merci!!
        0
  9. titine
     
    Merci beaucoup!!
    Maintenant, j'aimerai pourvoir le tirer jusqu'à Total toujour dans la ligne 6.*

    Range("F65536").Select
    Range("F6", Selection.End(xlUp)).Select
    0
    1. titine
       
      j'aimerai avoir une formule qui me sélectionnne chaque colonne jusqu'à total.
      Pas une sélection d'une plage.
      Merci par avance
      0
    2. titine
       
      j'aimerai avoir une formule qui me sélectionnne chaque colonne jusqu'à total.
      Pas une sélection d'une plage.
      Merci par avance
      0