Macro de recherche pour bouton de commande
Fermé
JCK01
Messages postés
3
Date d'inscription
dimanche 13 août 2017
Statut
Membre
Dernière intervention
14 août 2017
-
13 août 2017 à 19:35
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 14 août 2017 à 22:45
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 14 août 2017 à 22:45
A voir également:
- Macro de recherche pour bouton de commande
- Invite de commande - Guide
- Commande terminal mac - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Macro word - Guide
4 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
14 août 2017 à 22:45
14 août 2017 à 22:45
Bonjour,
Tu peux un peu simplifier ta première macro
et pour la seconde je te propose
Tu peux un peu simplifier ta première macro
Private Sub CommandButton1_Click() Dim lig As Integer With Sheets("Travaux") 'Volume exploité For lig = 2 To 7 .Range("B" & lig * 2 + 7).Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), lig, False) Next lig End With End Sub
et pour la seconde je te propose
Private Sub CommandButton2_Click() Dim lig As Integer, cel As Range With Sheets("Travaux") Set cel = .Range("AG3:AG203").Find(.Range("H5").Value) If Not cel Is Nothing Then For lig = 2 To 7 cel.Offset(0, lig - 1) = .Range("B" & lig * 2 + 7).Value Next lig End If End With End Sub
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
14 août 2017 à 08:52
14 août 2017 à 08:52
Bonjour,
Bienvenue sur le forum.
Le travail correspond plus ou moins à une RECHERCHEV
Pourquoi recoder ce qui existe et fonctionne correctement ?
Bienvenue sur le forum.
Le travail correspond plus ou moins à une RECHERCHEV
Pourquoi recoder ce qui existe et fonctionne correctement ?
JCK01
Messages postés
3
Date d'inscription
dimanche 13 août 2017
Statut
Membre
Dernière intervention
14 août 2017
14 août 2017 à 12:43
14 août 2017 à 12:43
Bonjour gbinforme,
J'essai de simplifier mon programme, pour l'instant j'ai une feuille par coupe de bois. Je gère dans ces feuilles les prix de vente de bois, coûts des travaux etc. (150 feuilles c'est un peu lourd !)
J'essaie de tout rassembler sur une feuille de travail. En sélectionnant le nom de la coupe mon tableau me donne le n° de la coupe (entre 100 et 399)
Avec un bouton Modifier, j'aimerais recherché les valeurs stockés dans ma base et les remettre dans mon tableau.
Une fois les valeurs modifiées, j'aimerais avec un bouton Enregistrer remettre ces valeurs dans ma base.
J'essai de simplifier mon programme, pour l'instant j'ai une feuille par coupe de bois. Je gère dans ces feuilles les prix de vente de bois, coûts des travaux etc. (150 feuilles c'est un peu lourd !)
J'essaie de tout rassembler sur une feuille de travail. En sélectionnant le nom de la coupe mon tableau me donne le n° de la coupe (entre 100 et 399)
Avec un bouton Modifier, j'aimerais recherché les valeurs stockés dans ma base et les remettre dans mon tableau.
Une fois les valeurs modifiées, j'aimerais avec un bouton Enregistrer remettre ces valeurs dans ma base.
via55
Messages postés
14506
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
27 décembre 2024
2 738
Modifié le 14 août 2017 à 15:36
Modifié le 14 août 2017 à 15:36
Bonjour JCK01, hello gbinforme
Voilà les 2 macros à mettre dans un module (ALT+F pour ouvrir l'éditeur VBA - Insertion - Module - copier et coller les macros
réer ensuite les 2 boutons et insérer dans leurs codes le nom de la macro correspondante
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
Voilà les 2 macros à mettre dans un module (ALT+F pour ouvrir l'éditeur VBA - Insertion - Module - copier et coller les macros
Sub rechercheref() For n = 2 To 200 If Range("E" & n) = Range("A1") Then Range("A2") = Range("F" & n): Exit For Next End Sub Sub enregistrerval() For n = 2 To 200 If Range("E" & n) = Range("A1") Then Range("F" & n) = Range("A2"): Exit For Next End Sub
réer ensuite les 2 boutons et insérer dans leurs codes le nom de la macro correspondante
Cdlmnt
Via
"L'imagination est plus importante que le savoir." A. Einstein
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
14 août 2017 à 18:30
14 août 2017 à 18:30
Salut via55
Je n'ai sans doute pas l'esprit bien clair car je ne vois toujours pas le but à atteindre car si tu trouves la valeur, pourquoi modifier car elle est toujours là ?
Je n'ai sans doute pas l'esprit bien clair car je ne vois toujours pas le but à atteindre car si tu trouves la valeur, pourquoi modifier car elle est toujours là ?
via55
Messages postés
14506
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
27 décembre 2024
2 738
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
14 août 2017 à 20:11
14 août 2017 à 20:11
Re,
Je n'ai pas compris non plus ! Je pense qu'il faut à certains moments rechercher la valeur correspondant à la référence et s'il il y a lieu de la modifier pouvoir le faire dans la foulée
Je n'ai pas compris non plus ! Je pense qu'il faut à certains moments rechercher la valeur correspondant à la référence et s'il il y a lieu de la modifier pouvoir le faire dans la foulée
JCK01
Messages postés
3
Date d'inscription
dimanche 13 août 2017
Statut
Membre
Dernière intervention
14 août 2017
>
via55
Messages postés
14506
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
27 décembre 2024
14 août 2017 à 22:16
14 août 2017 à 22:16
Hello via55 et gbinforme,
Tout d'abord je tiens à vous remercier pour le temps investi pour régler mon problème.
J'ai trouvé une formule pour récupérer mes données, elle fonctionne
Private Sub CommandButton1_Click()
With Sheets("Travaux")
'Volume exploité
.Range("B11").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 2, False)
.Range("B13").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 3, False)
.Range("B15").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 4, False)
.Range("B17").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 5, False)
.Range("B19").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 6, False)
.Range("B21").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 7, False)
Maintenant il me reste à trouvé la macro pour le bouton "Enregistrer" qui doit en gros faire l'inverse. C'est à dire (pour la 1ère ligne) coller la valeur B11 dans une cellule de la colonne AH, la ligne est définie par la valeur située dans la cellule H5 la colonne est AG
Un peu difficile pour un novice d'expliquer tous cela !
Tout d'abord je tiens à vous remercier pour le temps investi pour régler mon problème.
J'ai trouvé une formule pour récupérer mes données, elle fonctionne
Private Sub CommandButton1_Click()
With Sheets("Travaux")
'Volume exploité
.Range("B11").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 2, False)
.Range("B13").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 3, False)
.Range("B15").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 4, False)
.Range("B17").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 5, False)
.Range("B19").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 6, False)
.Range("B21").Value = WorksheetFunction.VLookup(.Range("H5").Value, Range("AG3:AQ203"), 7, False)
Maintenant il me reste à trouvé la macro pour le bouton "Enregistrer" qui doit en gros faire l'inverse. C'est à dire (pour la 1ère ligne) coller la valeur B11 dans une cellule de la colonne AH, la ligne est définie par la valeur située dans la cellule H5 la colonne est AG
Un peu difficile pour un novice d'expliquer tous cela !