XL 2016 Compléter une macro

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 !

pompaero

XLDnaute Impliqué
Bonjour le forum,

Ouaaah, bien la nouvelle présentation du site.

Ma demande serait de pouvoir compléter une macro, svp ?
Dans mon classeur onglet "Mvt absorbant" est effectué les mouvements (sortie, entrée) du produit afin de suivre son stock. Je suis arrivé à créer la macros d'enregistrement mais je bloque sur un petit délais.
Ce détail est juste avant l'enregistrement des données vers la BDD avoir une alerte qui annonce si les données existe déjà. J'ai bien commencé à trouver une macros qui est en couleur pour l'exemple,
VB:
  With Sheets("Mvt absorbant")
      'verification
      Ddate = CDate(.Range("C4").Value): Vehicule = .Range("C6").Value

      dlt = .Range("B" & Rows.Count).End(xlUp).Row
      For i = 12 To dlt
[COLOR=rgb(226, 80, 65)]         If .Range("B" & i) = Ddate And .Range("C" & i) = .Range("C5") And .Range("D" & i) = .Range("C7") _
         And .Range("E" & i) = Vehicule Then
            MsgBox "Ces données existe déjà !!"[/COLOR]
            Exit Sub
         End If
      Next i
      ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
      'controle si il y a toutes les informations
Ce que je n'arrive pas à faire est quand il s'agit de préciser si c'est une entrée ou une sortie par rapport aux colonnes F ou G.
En simple si on effectue une entrée avec des données déjà existantes alors Msg d'alerte ou idem pour une sortie.
Est-ce possible d'effectuer cela ?
Merci à vous.

Cdlt
pompaero
 

Pièces jointes

Bonjour Pompaero🙂,

Tu rajoutes une variable pour la colonne. Enfin,si j'ai bien compris ta question.
VB:
dim col as byte
dlt = .Range("B" & Rows.Count).End(xlUp).Row
      For i = 12 To dlt
      col = IIf(.Range("E4") = "Entrée", 6, 7)
         If .Range("B" & i) = Ddate And .Range("C" & i) = .Range("C5") And .Range("D" & i) = .Range("C7") _
         And .Range("E" & i) = Vehicule And .Cells(i, col) = .Range("E5") Then
            MsgBox "Ces données existe déjà !!"
            Exit Sub
         End If
      Next i
Bonne journée.
 
- 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

Discussions similaires

Réponses
4
Affichages
461
Retour