Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA- selectionner valeurs positives

15 réponses
Avatar
jean Berti
Bonjour à tous

Comment faire pour na sélectionner dans une plage, que les valeurs positives
et les inscrire dans une autre feuille????
Je séche...
Merci ENCORE de votre aide

Jean Berti

5 réponses

1 2
Avatar
isabelle
re bonjour Jean,

c'était pour les commandes placer dans cette ordre :

i = i + 1
Worksheets("Feuil2").Cells(3 + i, 3) = c

si les commandes sont placer dans cette ordre :

Worksheets("Feuil2").Cells(4 + i, 3) = c
i = i + 1

la ligne est = 4 puisque une variable est toujours = 0 au départ.

isabelle


Bonjour Garnote

Merci beaucoup , nikel!!
Petite précision peutx tu m'expliquer :
i = i + 1. si je change le 1 par 2 cela met les valeurs toutes les 2
lignes?
Worksheets("Feuil2").Cells(i, 1) = c "" feuille 2 A1:Ax : je change 1 par 2
= colonne B?
Comment mettre la sélection par exemple à partir de C4?

Merci de ta compréhension
Jean Berti


"garnote" a écrit dans le message de news:
%

Salut Jean,

Peut-être que :

Sub Copier_Valeurs_Positives()
For Each c In Worksheets("Feuil1").[a1:c10]
If IsNumeric(c) And c > 0 Then
i = i + 1
Worksheets("Feuil2").Cells(i, 1) = c
End If
Next c
End Sub

Serge


"jean Berti" a écrit dans le message de news:


Bonjour à tous

Comment faire pour na sélectionner dans une plage, que les valeurs
positives
et les inscrire dans une autre feuille????
Je séche...
Merci ENCORE de votre aide

Jean Berti












Avatar
garnote
Salut Jean,

Cette macro balaie la plage A1:C10 ( Feuil1 )
ligne par ligne et inscrit les valeurs positives
dans la plage C4:Cx.
Avant le For, i = 3. À chaque fois que c > 0,
i augmente de 1. Donc pour c > 0, cells(i,3) devient
successivement cells(4,3) , cells(5,3) , cells(6,3) ...
Le 3 pour désigner la colonne C.

Sub Encore_Copier_Valeurs_Positives()
Dim i As Long
Dim c As Range
i = 3
For Each c In Worksheets("Feuil1").[a1:c10]
If IsNumeric(c) And c > 0 Then
i = i + 1
Worksheets("Feuil2").Cells(i, 3) = c
End If
Next c
End Sub

Serge



"jean Berti" a écrit dans le message de news: O1%
Bonjour Garnote

Merci beaucoup , nikel!!
Petite précision peutx tu m'expliquer :
i = i + 1. si je change le 1 par 2 cela met les valeurs toutes les 2 lignes?
Worksheets("Feuil2").Cells(i, 1) = c "" feuille 2 A1:Ax : je change 1 par 2 = colonne B?
Comment mettre la sélection par exemple à partir de C4?

Merci de ta compréhension
Jean Berti


"garnote" a écrit dans le message de news: %
Salut Jean,

Peut-être que :

Sub Copier_Valeurs_Positives()
For Each c In Worksheets("Feuil1").[a1:c10]
If IsNumeric(c) And c > 0 Then
i = i + 1
Worksheets("Feuil2").Cells(i, 1) = c
End If
Next c
End Sub

Serge


"jean Berti" a écrit dans le message de news:
Bonjour à tous

Comment faire pour na sélectionner dans une plage, que les valeurs positives
et les inscrire dans une autre feuille????
Je séche...
Merci ENCORE de votre aide

Jean Berti












Avatar
jean Berti
Salut JP

Désolé je n'avais pas vu que tu avais mis un exemple sur ci-joint
Il était en dessous de ton email
Merci encore

Jean Berti
"JP25" a écrit dans le message de news:
%23d$
Bonjour lSteph,
je suis, bien sur, d'accord,
Néanmoins (Ou en plus), la fonction recherche, je l'ai également écrite en
vba
dans l'exemple Cjoint

--
Cordialement
JP25



"lSteph" a écrit dans le message de news:

...

:-)
...mais comme Jean il a demandé en VBA
...tu es d'accord JP25...?
c'est quand même Serge qui a donné la bonne réponse.

Salutatousses

lSteph












Avatar
jean Berti
Bonjour Isabelle

Merci pour la précision.
je me suis amusé à rajouter les valeurs négatives.

Sub Copier_Valeurs_Positives()
For Each c In Worksheets("Feuil1").[a1:a34]
If IsNumeric(c) And c > 0 Then
i = i + 1
Worksheets("Feuil2").Cells(3 + i, 3) = c
End If
Next c
For Each c In Worksheets("Feuil1").[a1:a34]
If IsNumeric(c) And c < 0 Then
i = i + 1
Worksheets("Feuil2").Cells(3 + i, 4) = c
End If
Cela met bien les valeurs positives en C4, mais les valeurs négatives en C22
?????
Moi pas compris

Jean Berti

"isabelle" a écrit dans le message de news:

bonjour Jean,

Worksheets("Feuil2").Cells(3 + i, 3) = c

isabelle

Bonjour Garnote

Merci beaucoup , nikel!!
Petite précision peutx tu m'expliquer :
i = i + 1. si je change le 1 par 2 cela met les valeurs toutes les 2
lignes?
Worksheets("Feuil2").Cells(i, 1) = c "" feuille 2 A1:Ax : je change 1
par 2 = colonne B?
Comment mettre la sélection par exemple à partir de C4?

Merci de ta compréhension
Jean Berti


"garnote" a écrit dans le message de
news: %

Salut Jean,

Peut-être que :

Sub Copier_Valeurs_Positives()
For Each c In Worksheets("Feuil1").[a1:c10]
If IsNumeric(c) And c > 0 Then
i = i + 1
Worksheets("Feuil2").Cells(i, 1) = c
End If
Next c
End Sub

Serge


"jean Berti" a écrit dans le message de news:


Bonjour à tous

Comment faire pour na sélectionner dans une plage, que les valeurs
positives
et les inscrire dans une autre feuille????
Je séche...
Merci ENCORE de votre aide

Jean Berti













Avatar
garnote
Salut Jean,

En sortant du premier For Each, i n'est plus égal à 0.
Il te suffit d'écrire i = 0 après le premier For Each.

Sub Copier_Valeurs_Positives_Négatives()
For Each c In Worksheets("Feuil1").[a1:a34]
If IsNumeric(c) And c > 0 Then
i = i + 1
Worksheets("Feuil2").Cells(3 + i, 3) = c
End If
Next c
i = 0
For Each c In Worksheets("Feuil1").[a1:a34]
If IsNumeric(c) And c < 0 Then
i = i + 1
Worksheets("Feuil2").Cells(3 + i, 4) = c
End If
Next c
End Sub

Serge

"jean Berti" a écrit dans le message de news:
Bonjour Isabelle

Merci pour la précision.
je me suis amusé à rajouter les valeurs négatives.

Sub Copier_Valeurs_Positives()
For Each c In Worksheets("Feuil1").[a1:a34]
If IsNumeric(c) And c > 0 Then
i = i + 1
Worksheets("Feuil2").Cells(3 + i, 3) = c
End If
Next c
For Each c In Worksheets("Feuil1").[a1:a34]
If IsNumeric(c) And c < 0 Then
i = i + 1
Worksheets("Feuil2").Cells(3 + i, 4) = c
End If
Cela met bien les valeurs positives en C4, mais les valeurs négatives en C22 ?????
Moi pas compris

Jean Berti

"isabelle" a écrit dans le message de news:
bonjour Jean,

Worksheets("Feuil2").Cells(3 + i, 3) = c

isabelle

Bonjour Garnote

Merci beaucoup , nikel!!
Petite précision peutx tu m'expliquer :
i = i + 1. si je change le 1 par 2 cela met les valeurs toutes les 2 lignes?
Worksheets("Feuil2").Cells(i, 1) = c "" feuille 2 A1:Ax : je change 1 par 2 = colonne B?
Comment mettre la sélection par exemple à partir de C4?

Merci de ta compréhension
Jean Berti


"garnote" a écrit dans le message de news: %

Salut Jean,

Peut-être que :

Sub Copier_Valeurs_Positives()
For Each c In Worksheets("Feuil1").[a1:c10]
If IsNumeric(c) And c > 0 Then
i = i + 1
Worksheets("Feuil2").Cells(i, 1) = c
End If
Next c
End Sub

Serge


"jean Berti" a écrit dans le message de news:

Bonjour à tous

Comment faire pour na sélectionner dans une plage, que les valeurs positives
et les inscrire dans une autre feuille????
Je séche...
Merci ENCORE de votre aide

Jean Berti
















1 2