Recherche de valeur et la copier
Résolu
jof.27
Messages postés
79
Date d'inscription
Statut
Membre
Dernière intervention
-
jof.27 Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
jof.27 Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je n'arrive pas a faire ma macro qui à l'air pourtant simple a l'écrit en français.
je souhaites chercher la valeur la plus proche de zéro dans colonne H a partir de la ligne 14, sur la ligne de la valeur proche de zéro je souhaites copier la valeur de la colonne C puis la coller dans la case E3.
si déjà ça c'est possible, je voudrais que la vérification se fasse automatiquement en vérifiant que la valeur sur la ligne trouvée du 0 de la colonne F soit alors égale à 0 après que la valeur en E3 soit collée.
merci de votre aide.
je n'arrive pas a faire ma macro qui à l'air pourtant simple a l'écrit en français.
je souhaites chercher la valeur la plus proche de zéro dans colonne H a partir de la ligne 14, sur la ligne de la valeur proche de zéro je souhaites copier la valeur de la colonne C puis la coller dans la case E3.
si déjà ça c'est possible, je voudrais que la vérification se fasse automatiquement en vérifiant que la valeur sur la ligne trouvée du 0 de la colonne F soit alors égale à 0 après que la valeur en E3 soit collée.
merci de votre aide.
A voir également:
- Recherche de valeur et la copier
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comment copier une vidéo youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Recherche photo - 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 ?
j'ai essayer avec la fonction RECHERCHEV mais ça ne fonctionne pas ou je m'y prend mal.
aidez moi SVP
aidez moi SVP
la macro ne fonctionne pas je ne connais pas la raison.
aidez moi SVP
aidez moi SVP
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
désolé je ne mis connais pas trop
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
Nb_Ligne = Sheets(1).Cells(1000000, 8).End(xlUp).Row
erreur d'exécution "1004"