VBA Problème simple de recherche dans une matrice

  • Initiateur de la discussion Initiateur de la discussion yannw
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Y

yannw

Guest
Bonjour le forum,

j'ai déjà fait appel à vous il y a quelques temps et vous m'avez grandement aidés, je vous en remercie. J'aurai à nouveaux besoin de vos lumières.

J'ai joint un fichier afin que mes explications soit plus parlantes

Voilà ce que j'aimerais faire:

Sur une feuille excel(Input_trade), j'entre une date, un nom et une quantité.

Sur une deuxième feuille (history_trade) j'ai une matrice avec des dates sur la colonne A (A24:A32) et
des noms sur la ligne 7 (B7:E7).

J'aimerais que chaque fois que j'entre une quantité sur ma première feuille, elle soit automatiquement recopié sur ma deuxième feuille à l'intersection de la date et du nom choisi .


Merci à tous de votre aide !


PS: j'ai déjà tenté avec une formule excel,graphique en rose sur mon exemple à disposition. Mais le résultat n'est pas optimal car à chaque fois que je change de nom,de date ou de quantité. Celle d'avant disparait... C'est la raison pour laquelle je pense qu'un code VBA est indispensable...
 

Pièces jointes

Re : VBA Problème simple de recherche dans une matrice

Merci beaucoup pour la rapidité Roger2327,

Je vais travailler sur ce fichier cet après midi! C'est vraiment sympa de m'aider à m'avancer dans mon travail 🙂 Surtout lorsque l on ne maitrise pas le language VBA, c'est difficile d'avancer sans aide, encore merci !

Je vais voir si je trouve pas une solution ou bidouillage pour l histoire des formules, en attendant peut être une suite... 😉
 
Re : VBA Problème simple de recherche dans une matrice

Suite...
Ceci préserve les formules des cellules qui ne sont pas modifiées. Car une cellule où on colle une valeur perd nécessairement son éventuelle formule...
Code:
[COLOR="DarkSlateGray"]Dim oTab As Range, oDat()
Dim i As Long, j As Long
Dim k As Long '*
   Set oTab = Sheets("Trade_History").Range("Table")
   oDat = Sheets("Input_Trade").Range("C23:G23").Value
   For i = 2 To oTab.Rows.Count - 1
      If oTab.Cells(1, 1).Offset(i - 1, 0).Value = oDat(1, 1) Then Exit For
   Next i
   For j = 2 To oTab.Columns.Count - 1 Step 3
      If oTab.Cells(1, 1).Offset(0, j - 1).Value = oDat(1, 2) Then Exit For
   Next j
   If i > oTab.Rows.Count Or j > oTab.Columns.Count Then
      MsgBox "Données incorrectes"
   Else
      For k = 0 To 2
         oTab.Cells(i, j + k).Value = oDat(1, 3 + k)
      Next k
   End If
End Sub[/COLOR]
ROGER2327
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour