Selection ligne avec cellule vide

Fermé
milie800 Messages postés 2 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008 - 5 août 2008 à 16:38
 Anonyme - 8 août 2008 à 10:53
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

8 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 août 2008 à 18:53
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
Amnesic Messages postés 10 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 14 août 2008 1
5 août 2008 à 18:54
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
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 août 2008 à 19:10
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
Amnesic Messages postés 10 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 14 août 2008 1
6 août 2008 à 02:00
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
6 août 2008 à 11:04
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
milie800 Messages postés 2 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 6 août 2008
6 août 2008 à 11:48
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
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
7 août 2008 à 10:37
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
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