condition pleine et selectionnée vba

zumye

XLDnaute Occasionnel
bonjour le forum

comment écrit on en vba la condition: cellule pleine et prise dans la selection

exemple: je selectionne plusieurs celulles (a1,a5,a7)sur des lignes differentes

et mon programme actuel fonctionne que pour une cellule selectionnée, donc je repete les taches pour chaque cellules selectionnée.

je voudrais donc mettre en amont un for next et j'ai besoin de la condition cellule pleine et prise dans la selection un truc du genre
if range("a & ligne")<>"" and range("a & ligne") selectionnee then ( c est la que je bloque)

merci
 

wilfried_42

XLDnaute Barbatruc
Re : condition pleine et selectionnée vba

bonjour

pour les formules :
Code:
Sub essai()
    Dim cel As Range
    For Each cel In Selection.Cells.SpecialCells(xlCellTypeFormulas)
        MsgBox cel.Value
    Next
End Sub
Pour les saisies :
Code:
Sub essai()
    Dim cel As Range
    For Each cel In Selection.Cells.SpecialCells(xlCellTypeConstants)
        MsgBox cel.Value
    Next
End Sub
pour les deux :
Code:
Sub essai()
    Dim cel As Range
    For Each cel In Selection.Cells.SpecialCells(xlCellTypeFormulas)
        MsgBox cel.Value
    Next
    For Each cel In Selection.Cells.SpecialCells(xlCellTypeConstants)
        MsgBox cel.Value
    Next
End Sub

Oups : Boujour Skoobi, excuse pour la collision
 

zumye

XLDnaute Occasionnel
Re : condition pleine et selectionnée vba

il me reste un soucis apparement que je n'arrive pas a resoudre

tout marche bien du moment que ma selection globale comporte au moins 2 selections minimum mais si je selectionne qu'une celule soit une selection il me fait comme si j'avais tout selectionné.

y a t il un moyen de rajouté une condition:
si une cellule est selectionée alors ligne = ActiveCell.Row
else
Dim cel As Range
For Each cel In Selection.Cells.SpecialCells(xlCellTypeConstants)
ligne = cel.Row

merci
 

skoobi

XLDnaute Barbatruc
Re : condition pleine et selectionnée vba

Re,
Bonjour Dan :),
Bonjour Wilfried :),

alors fait ceci:

Code:
Sub essai()
  Dim cel As Range
[COLOR=Blue][B]  If Selection.Count = 1 Then[/B][/COLOR]
[COLOR=Blue][B]    ligne = ActiveCell.Row[/B][/COLOR]
[COLOR=Blue][B]  Else[/B][/COLOR]
    For Each cel In Selection.SpecialCells(xlCellTypeConstants)
        ligne = cel.Row
...............
...................
........
    Next  
[COLOR=Blue][B]  End If[/B][/COLOR]
..........
.....
......
End Sub
 

Discussions similaires

Réponses
1
Affichages
240

Statistiques des forums

Discussions
312 416
Messages
2 088 248
Membres
103 787
dernier inscrit
Sprat