Macro combinant une rechercheH et rechercheV dans un tableau
Résolu
kamal
-
kamal -
kamal -
Bonjour tout le monde,
SVP est ce que quelqu'un pourra m'aider à trouver une macro qui peut croiser une recherche vertical et horizontale un peut plus avancer?
voila ce que je souhaite faire:
feuil1 : un tableau de B2 à GZ100
feuil2 : ligne à remplir de H7 à AC7, H14 à AC14, en incrémentant par 7 jusqu'a H69 à AC69
les valeurs à rechercher sont des cellules dans la feuil2:
A5 (elle prend ses valeurs sous forme de liste située à la colonne B de la feuil1)
G6 (elle prend ses valeurs sous forme de liste située à la ligne 2 de la feuil1)
et donc il faudrait remplir les lignes cités ci-dessus automatiquement à chaque fois que je change A5 feuil2 ou G6 feuil2 ou les deux à la fois.
Merci infiniment par avance pour votre aide. je galère depuis des semaines sans résultats :(
SVP est ce que quelqu'un pourra m'aider à trouver une macro qui peut croiser une recherche vertical et horizontale un peut plus avancer?
voila ce que je souhaite faire:
feuil1 : un tableau de B2 à GZ100
feuil2 : ligne à remplir de H7 à AC7, H14 à AC14, en incrémentant par 7 jusqu'a H69 à AC69
les valeurs à rechercher sont des cellules dans la feuil2:
A5 (elle prend ses valeurs sous forme de liste située à la colonne B de la feuil1)
G6 (elle prend ses valeurs sous forme de liste située à la ligne 2 de la feuil1)
et donc il faudrait remplir les lignes cités ci-dessus automatiquement à chaque fois que je change A5 feuil2 ou G6 feuil2 ou les deux à la fois.
Merci infiniment par avance pour votre aide. je galère depuis des semaines sans résultats :(
A voir également:
- Macro combinant une rechercheH et rechercheV dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Comment imprimer un tableau excel sur une seule page - Guide
2 réponses
Bonjour,
Très difficile à comprendre: dis toi bien que l'on a que ce que tu écris pour proposer quelque chose
au passage
H7 à AC7, H14 à AC14, en incrémentant par 7 jusqu'a H69 à AC69
69: t'es sûr (69/7=9,857....)?
au besoin:
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Très difficile à comprendre: dis toi bien que l'on a que ce que tu écris pour proposer quelque chose
au passage
H7 à AC7, H14 à AC14, en incrémentant par 7 jusqu'a H69 à AC69
69: t'es sûr (69/7=9,857....)?
au besoin:
mettre le classeur sans données confidentielles en pièce jointe sur
https://www.cjoint.com/
puis copier l'adresse du lien et la coller dans le message de réponse
Bonjour michel_m,
voila j'ai crée un fichier excel simplifier avec moins de colonnes de lignes. et j'ai expliqué ce qu'il faut faire dans le fichier par des bulles :)
Merci par avance pour ton aide.
http://cjoint.com/?CGejQt2VVPJ
voila j'ai crée un fichier excel simplifier avec moins de colonnes de lignes. et j'ai expliqué ce qu'il faut faire dans le fichier par des bulles :)
Merci par avance pour ton aide.
http://cjoint.com/?CGejQt2VVPJ
la macro se trouve dans le module feuil2 de l'éditeur VBA
https://www.cjoint.com/?3GemnZR9czc
lorsque tu changes la formule, les matières inscrites dans C3:C13 renvoient leur valeur dans la ligne jaune colonne F
lorsque tu changes une matière la nouvelle valeur est inscrite dans la ligne jaune colonne F
nota: j'ai inscrit des valeurs bidons dans feuille 1pour essai
si la macro ne démarre plus, lance la macro "reactiver_enableevents"
la macro
https://www.cjoint.com/?3GemnZR9czc
lorsque tu changes la formule, les matières inscrites dans C3:C13 renvoient leur valeur dans la ligne jaune colonne F
lorsque tu changes une matière la nouvelle valeur est inscrite dans la ligne jaune colonne F
nota: j'ai inscrit des valeurs bidons dans feuille 1pour essai
si la macro ne démarre plus, lance la macro "reactiver_enableevents"
la macro
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim Lig As Integer, Col As Integer, Cptr As Byte, Decal As Byte Application.ScreenUpdating = False 'changement de formule If Not Intersect(Target, Range("B3")) Is Nothing And Target <> "" And Target.Count = 1 Then On Error GoTo fin Lig = Sheets(1).Columns("B").Find(Target, Sheets(1).Range("B2"), xlValues).Row For Cptr = 3 To 13 If Cells(Cptr, "C") <> "" Then Col = Sheets(1).Rows(2).Find(Cells(Cptr, "C"), Sheets(1).Range("B2"), xlValues).Column Application.EnableEvents = False Cells(5 + Decal, "F") = Sheets(1).Cells(Lig, Col) Application.EnableEvents = True End If Decal = Decal + 7 Next End If 'changement de matière If Not Intersect(Target, Range("C3:C13")) Is Nothing And Target <> "" And Target.Count = 1 Then Lig = Sheets(1).Columns("B").Find(Range("B3"), Sheets(1).Range("B2"), xlValues).Row On Error GoTo fin Col = Sheets(1).Rows(2).Find(Target, Sheets(1).Range("B2"), xlValues).Column Decal = Columns("E").Find(Target, Range("E2"), xlValues).Row + 1 Cells(Decal, "F") = Sheets(1).Cells(Lig, Col) End If Exit Sub fin: MsgBox "Saisie incorrecte!", vbCritical End Sub '---------------------------------------- Sub reactiver_enableevents() Application.EnableEvents = True End Sub