Pb simple pr connaisseur en VBA

Fermé
david29102 Messages postés 3 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006 - 16 nov. 2006 à 18:24
 Utilisateur anonyme - 24 nov. 2006 à 02:38
Slt
Mon pb est simple pour ceux qui s'y connaisse en VBA

Une colonne de 10 case genre Range("A1:A10"), dans ces 10 cellules des valeurs positives ou negative.

Questions: comment selectionner que les valeurs negatives pour les avoir sur ma feuille excel comme si je les avais selectionner avec la touche CTRL en foncé.

Je débute en VBA.

Merci pour les reponse rapide car c'est pour le boulot et je suis limité dans les delais

Merci
A voir également:

2 réponses

Utilisateur anonyme
17 nov. 2006 à 02:11
Bonjour,

voici une suggestion :

Sub SelecNegatif()

    Dim Plage As Range
    Dim Cellule As Range
    Dim Chaine As String
    
    Set Plage = Range("A1:A10")
    
    Chaine = ""
    For Each Cellule In Plage
        If (Cellule.Value < 0) Then
            Chaine = Chaine & Cellule.Address & ","
        End If
    Next
    Chaine = Mid(Chaine, 1, Len(Chaine) - 1)
    Range(Chaine).Select

End Sub


Lupin
0
david29102 Messages postés 3 Date d'inscription jeudi 16 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006
23 nov. 2006 à 15:12
Merci

ca marche G un peu galerer pour l'incorporer dans mon programme mais c'est bon

Encore un gd merci reste plus qu'a comprendre chaque ligne et le tour sera jouer.

Dis moi au passage tu saurais pas comment je pourrais faire pour additionner toutes les cellules selectionner?

Ca serais cool. Dure dure vba qd on en as jamias fait, c'est ps evident d'apprendre rien qu'avec des livres.

A plus et encore merci
0
Utilisateur anonyme
24 nov. 2006 à 02:38
re :

Sub SelecNegatif()

    Dim Plage As Range
    Dim Cellule As Range
    Dim Chaine As String
    Dim Somme As Double
    
    Set Plage = Range("A1:A10")
    
    Somme = 0
    Chaine = ""
    For Each Cellule In Plage
        If (Cellule.Value < 0) Then
            Chaine = Chaine & Cellule.Address & ","
            Somme = Somme + Cellule.Value
        End If
    Next
    Chaine = Mid(Chaine, 1, Len(Chaine) - 1)
    Range(Chaine).Select
    
    MsgBox Somme

End Sub


n.b. ne savant pas s'il s'agissait d'entier ou de nombre réel,
j'ai typé la variable [ Somme] de type [ Double ]. S'il ne s'agit
que d'entier, le type [ Long] sera largement suffisant.

C'est toujours un plaisirs lorsqu'on reçoit une réponse positive.

Lupin
Gentleman non-cambrioleur
Poir vous servir :-)
0