Selection ligne avec cellule vide

milie800 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 Anonyme -
Bonjour,
Je souhaite sélectionner une ligne dans une macro mais j'ai sur cette ligne j'ai une cellule vide ....

Je ne sais pas comment faire.
Voici le code que j'ai fait et qui ne fonctionne pas, il s'arrete après la cellule vide

Range ("B12")
If Trim(ActiveCell.Value) = "Total" Then
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlToRight)).Select
With Selection.Interior
.ColorIndex = 34
.Pattern = xlSolid
End With
End If

Merci d'avance pour vos réponse
cordialement,

milie80
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    bonjour,
    Je souhaite sélectionner une ligne
    mais tu teste les colonnes ?

    Range ("B12") c'est quoi ? la cellule que tu veux
    Selection, où est-elle délimitée ?
    Tu veux trouver une dernière ligne absolue ?
    Essaye d'expliquer un peu plus.

    A+
    0
  2. Amnesic Messages postés 10 Statut Membre 1
     
    Salut, à la place de
    Range(Selection, Selection.End(xlToRight)).Select 
    Range(Selection, Selection.End(xlToRight)).Select 

    tu peux sélectionner toute la ligne avec
    ActiveCell.EntireRow.Select

    A+
    0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    salut Amnesic
    Faut un peu réfléchir avant de donner une piste !
    avec ta solution tu sélectionne jusqu'a la ligne 65536 ?
    valable éventuellement pour copier toute une colonne, mais à part ça !!
    A+
    0
  4. Amnesic Messages postés 10 Statut Membre 1
     
    Salut lermite,
    il faut un peu revoir son vocabulaire avant de faire des remarques !
    en l'occurence, row signifie ligne. Je le sais, j'ai vérifié dans le dictionnaire. Colonne, ça se dit column.
    Donc Activecell.entirerow.select sélectionne uniquement la ligne de la cellule active. Ca me semble répondre en partie à la question posée qui commence par "Je souhaite sélectionner une ligne dans une macro"

    Le problème de milie, c'est de pouvoir sélectionner ses lignes "Total" pour y appliquer une petite mise en forme. Mais comme elle a des trous dans ses données en ligne, .End(xlToRight) ne va pas jusqu'au bout. Prendre toute la ligne, c'est un peu bourrin comme solution, mais c'est rapide !
    A+
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Salut Amnesic, tu a raison, devai être fatigué ce jour là pour confondre ligne et colonne, mais maintient et cette fois dans l'autre sens, que toute la ligne est sélectionnée comme tu dit, et en lisant son poste elle ne veux modifier qu'une plage.
    .End(xlToRight) = va jusqu'a la première cellule vide, éventuellement faire l'inverse avec xlToLeft en partant de la dernière colonne
    Pour connaitre la dernière colonne renseignée.
    DerniereColonne = Range("A1").SpecialCells(xlCellTypeLastCell).Column
    Adapté A1 à la ligne active.
    Mais attendons une éventuelle réponse.
    Cordialement
    0
  7. milie800 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour,

    Je vais essayer d'être plus clair
    Je voulais mettre un exemple de ce que je voulais mais je n'y arrive pas.

    Merci déjà pour vos réponses même si ca ne marche.
    Il s'agit d'un tableau avec des sous totaux.
    Je veux que la ligne soit mise en gras mais pas toute la ligne uniquement mon tableau de données.
    La deuxième de la ligne est vide.

    Voilà je ne sais pas si j'ai été assez clair

    Merci d'avance
    0
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    où ça ne va pas c'est dans ta sélection, la ligne qui contient "Total" c'est toujours la même ?
    le nombre de colonne est-l toujours le même ?
    Si oui, exemple pous la sélection...de la colonne B ligne 10 à la colonne J ligne 10
    Range("B10:J10").select
    et aprèston with qui est bon
    0
  9. Anonyme
     
    Bonjour

    À adapter :

    Sélection conditionnelle de lignes discontinues

    Je voudrais par macro sélectionner toutes les lignes répondant à un critère donné.
    Ces lignes sont discontinues.

    En partant du principe que tout ça se passe dans la Feuille "Feuil1", que le nombre de lignes à examiner soit 20 et que le critère soit "MonCritère" à vérifier dans la cellule "A" de chaque ligne (à remplacer par tes valeurs donc) :

    Sub JeSelectionne()
    i = 1
    NombreLignes = 20
    While i < NombreLignes + 1
    If Cells(i, 1) = MonCritere Then
    MesLignes = MesLignes & i & ":" & i & ","
    End If
    i = i + 1
    Wend
    MesLignes = Left(MesLignes, Len(MesLignes) - 1)
    Sheets("Feuil1").Range(MesLignes).Select
    End Sub

    Attention tout de même aux limites du nombre de lignes distinctes admises dans la sélection multiple (255 ?)

    Bernard Rey, (N°1027)

    Source : http://www.excelabo.net/excel/ligncol.php

    Merci
    0