Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche de valeurs negative en VBA

  • Initiateur de la discussion Initiateur de la discussion Marion
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Marion

Guest
Bonjour au forum

Dans un tableau compartant des codes et des valeurs négatives je voudrais rechercher les - et faire un nouvau tableau

Je joins un fichier

Merci de votre aide

A+Marion [file name=Marion1_20051105102849.zip size=2026]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Marion1_20051105102849.zip[/file]
 

Pièces jointes

bonjour
Marion,le Forum

à placer ds le code de la feuille
clic droit -> onglet feuille -> visualiser code

Private Sub Worksheet_Activate()
Dim Cel As Range, L As Byte
For Each Cel In Range('G4:G14')
If Cel < 0 Then
L = L + 1
Range('M' & L).Offset(3, 0).Value = Cel.Value
Range('L' & L).Offset(3, 0).Value = Range('B' & Cel.Row).Value
End If
Next Cel
End Sub
à bientôt 🙂
 
une solution simple et classique, avec quelques formules [file name=ValNeg.zip size=5155]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ValNeg.zip[/file]
 

Pièces jointes

Re bonjour

merci a tous les deux

la solution de bebere est tout a fait ce qu'il me faut


jel'ai adapté a mon fichier cela fonctionne mais le temps du calcul est trés long

Peut-on améliorer ce petit soucis

Merci encore

A+Marion
 
bonjour Marion,Ti
essaye le suivant
Private Sub Worksheet_Activate()
Dim L As Integer, C As Integer
Dim Tbl As Variant
Dim Cel As Range
For Each Cel In Range('H4:H14')
If Cel < 0 Then
L = L + 1
End If
Next Cel
ReDim Tbl(1 To L, 1 To 2)
L = 0
For Each Cel In Range('H4:H14')
If Cel < 0 Then
L = L + 1
Tbl(L, 1) = Cells(Cel.Row, 3).Value '3 colonne C
Tbl(L, 2) = Cells(Cel.Row, 8).Value '8 colonne H
End If
Next Cel
For L = 1 To UBound(Tbl, 1)
For C = 1 To UBound(Tbl, 2)
Cells(3, 10).Offset(L, C).Value = Tbl(L, C)
Next C
Next L
End Sub
à bientôt
 
RE

desolée pour le retard

Je viens de mettre en place le nouveau code mais il bug a ce niveau


ReDim Tbl(1 To L, 1 To 2)

je ne peux donc pas voir si il accélère l'opération

Merci

A+Marion
 
bonsoir Marion
si bug à redim ,la variable L=0
regarde si Range('H4:H14') est bien ta colonne de chiffres
et aussi les 2 lignes suivantes
Tbl(L, 1) = Cells(Cel.Row, 3).Value '3 colonne C
Tbl(L, 2) = Cells(Cel.Row, 8).Value '8 colonne H
à bientôt 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
17
Affichages
776
Réponses
3
Affichages
771
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…