Recherche de valeur et la copier
Résolu/Fermé
jof.27
Messages postés
79
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
13 janvier 2018
-
Modifié par jof.27 le 12/06/2013 à 14:25
jof.27 Messages postés 79 Date d'inscription lundi 3 juin 2013 Statut Membre Dernière intervention 13 janvier 2018 - 12 juin 2013 à 16:19
jof.27 Messages postés 79 Date d'inscription lundi 3 juin 2013 Statut Membre Dernière intervention 13 janvier 2018 - 12 juin 2013 à 16:19
A voir également:
- Recherche de valeur et la copier
- Copier une vidéo youtube - Guide
- Recherche musique - Guide
- Super copier - Télécharger - Gestion de fichiers
- Google recherche par image - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
4 réponses
Bonjour,
On ne peux pas dire que soit clair dans tes propos j'ai pas tout pigé à ce que tu veux mais voici déjà une première macro :
Sub RECH_VAL_0()
Nb_Ligne = Sheets(1).Cells(1000000, 8).End(xlUp).Row
For i = 1 To Nb_Ligne
x = 0
Resultat = Sheets(1).Cells(i, 8)
If Resultat < 0 Then
Resultat = Resultat * -1
x = 1
End If
If Valeur_0 = "" Then
If x = 0 Then
Valeur_0 = Resultat
Valeur_C = Sheets(1).Cells(i, 3)
Else
Valeur_0 = Resultat * -1
Valeur_C = Sheets(1).Cells(i, 3)
End If
Else
If Resultat < Valeur_0 Then
If x = 0 Then
Valeur_0 = Resultat
Valeur_C = Sheets(1).Cells(i, 3)
Else
Valeur_0 = Resultat * -1
Valeur_C = Sheets(1).Cells(i, 3)
End If
End If
End If
Next i
Sheets(1).Cells(3, 5) = Valeur_C
End Sub
Cette Macro Vas annalyser la colonne H et pour la ligne ou le montant est le plus proche de 0 il copie la valeur de la colonne C de cette ligne en cellule E3.
C'est bien ça que tu voulais ?
On ne peux pas dire que soit clair dans tes propos j'ai pas tout pigé à ce que tu veux mais voici déjà une première macro :
Sub RECH_VAL_0()
Nb_Ligne = Sheets(1).Cells(1000000, 8).End(xlUp).Row
For i = 1 To Nb_Ligne
x = 0
Resultat = Sheets(1).Cells(i, 8)
If Resultat < 0 Then
Resultat = Resultat * -1
x = 1
End If
If Valeur_0 = "" Then
If x = 0 Then
Valeur_0 = Resultat
Valeur_C = Sheets(1).Cells(i, 3)
Else
Valeur_0 = Resultat * -1
Valeur_C = Sheets(1).Cells(i, 3)
End If
Else
If Resultat < Valeur_0 Then
If x = 0 Then
Valeur_0 = Resultat
Valeur_C = Sheets(1).Cells(i, 3)
Else
Valeur_0 = Resultat * -1
Valeur_C = Sheets(1).Cells(i, 3)
End If
End If
End If
Next i
Sheets(1).Cells(3, 5) = Valeur_C
End Sub
Cette Macro Vas annalyser la colonne H et pour la ligne ou le montant est le plus proche de 0 il copie la valeur de la colonne C de cette ligne en cellule E3.
C'est bien ça que tu voulais ?
jof.27
Messages postés
79
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
13 janvier 2018
12 juin 2013 à 14:43
12 juin 2013 à 14:43
j'ai essayer avec la fonction RECHERCHEV mais ça ne fonctionne pas ou je m'y prend mal.
aidez moi SVP
aidez moi SVP
jof.27
Messages postés
79
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
13 janvier 2018
12 juin 2013 à 14:51
12 juin 2013 à 14:51
c'est exactement ça je test ça de suite.
merci
merci
jof.27
Messages postés
79
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
13 janvier 2018
12 juin 2013 à 15:17
12 juin 2013 à 15:17
la macro ne fonctionne pas je ne connais pas la raison.
aidez moi SVP
aidez moi SVP
jof.27
Messages postés
79
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
13 janvier 2018
12 juin 2013 à 15:32
12 juin 2013 à 15:32
ok la macro fonctionne seulement il reporte la mauvaise valeur juste a modifier l'approche du zéro je penses. ce que je veut dire il copie bien la valeur mais cette valeur n'est pas celle de la ligne ou il y la valeur rechercher qui est zero ou le plus proche positif.
ou dois je faire la modification?
merci d'avance
ou dois je faire la modification?
merci d'avance
La macro avait quelques petits soucis :
celle là devrait mieux fonctionner
Sub test()
Nb_Ligne = Sheets(1).Cells(65536, 8).End(xlUp).Row
For i = 14 To Nb_Ligne
Resultat = Sheets(1).Cells(i, 8)
If Resultat < 0 Then
Resultat = Resultat * -1
End If
If Valeur_0 = "" Then
Valeur_0 = Resultat
Valeur_C = Sheets(1).Cells(i, 3)
Else
If Resultat < Valeur_0 Then
Valeur_0 = Resultat
Valeur_C = Sheets(1).Cells(i, 3)
Ligne = i
End If
End If
Next i
Sheets(1).Cells(3, 5) = Valeur_C
End Sub
celle là devrait mieux fonctionner
Sub test()
Nb_Ligne = Sheets(1).Cells(65536, 8).End(xlUp).Row
For i = 14 To Nb_Ligne
Resultat = Sheets(1).Cells(i, 8)
If Resultat < 0 Then
Resultat = Resultat * -1
End If
If Valeur_0 = "" Then
Valeur_0 = Resultat
Valeur_C = Sheets(1).Cells(i, 3)
Else
If Resultat < Valeur_0 Then
Valeur_0 = Resultat
Valeur_C = Sheets(1).Cells(i, 3)
Ligne = i
End If
End If
Next i
Sheets(1).Cells(3, 5) = Valeur_C
End Sub
jof.27
Messages postés
79
Date d'inscription
lundi 3 juin 2013
Statut
Membre
Dernière intervention
13 janvier 2018
12 juin 2013 à 16:07
12 juin 2013 à 16:07
ok c'est ça mais juste la valeur proche de zéro doit être positive donc la par exemple il prend la valeur -0.18 et moi je voudrais qu'il prenne la valeur pareil mais positive 0.24.
que dois-je modifier?
merci votre aide.
que dois-je modifier?
merci votre aide.
12 juin 2013 à 14:56
désolé je ne mis connais pas trop
12 juin 2013 à 14:58
12 juin 2013 à 15:03
12 juin 2013 à 15:22
For i = 1 To Nb_Ligne
tu remplace le 1 par 14 car les données de ton tableau commence à partir de la ligne 14
Apparement tu sais ou copier la macro.
Sur la page où se trouve ton tableau, ajoute un bouton et fais un clique droit dessus puis assigner macro. selectionne RECH_VAL_0 puis OK
12 juin 2013 à 15:26
Nb_Ligne = Sheets(1).Cells(1000000, 8).End(xlUp).Row
erreur d'exécution "1004"