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
- Comment imprimer un tableau excel sur une seule page - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
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