Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Création d'une routine !?

  • Initiateur de la discussion Initiateur de la discussion Dicas
  • 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 !

Dicas

XLDnaute Junior
Bonjour à toutes et tous !!
Je travaille sur un gestionnaire de Stocks et réappros de médicaments.
Je cherche la routine qui saura agir consécutivement sur chaque enregistrement ainsi :
Si BM1>0; Copier BL1 en BK1 et effacer en BO1 et en BP1
Si non ; enregistrement suivant
Pour lequel :
Si BM2>0.................
J'ai fait l'erreur de copier BL et coller en BK la colonne entière entre lignes 9 et 75 en entraînant les valeurs zéro de toutes les lignes vides..... et je tourne en rond ...
Pouvez-vous m'aider ?
 

Pièces jointes

Salut,

Pas bien compris ton fichier...

Essaie quelque chose comme ça :
VB:
Sub mlk()
i = 1
Do
If Range("bm" & i) > 0 Then
    Range("bl" & i).Copy
    Range("bk" & i).PasteSpecial
    Range(Range("bo " & i), Range("bp" & i)).Clear
End If
i = i + 1
Loop Until IsEmpty(Range("h" & i))
End Sub
 
Bonjour Dicas,

quelques difficultés à convertir votre classeur en XL 2003: plantages excel, puis un classeur où il semble que la première cellule 'intéressante' soit BM9, et aucune macro.

est ce normal ou est ce dû à un soucis de conversion ?

A+

une autre solution, à adapter:

Code:
Sub Dicas()
For i = 9 To Range("BM" & Rows.Count).End(xlUp).Row ' à adapter <==
    If Range("BM" & i) = 0 Then
        Range("BK" & i) = Range("BL" & i)
        Range(Range("BO" & i), Range("BP" & i)).ClearContents
    End If
Next
End Sub
 
Dernière édition:
re,

Trouver qu'une feuille sans macro, la conversion a cafouillé, mais pas important voir la proposition de code rajoutée au post 3 ( et celle du post 2)

A+

Edit :
Bonjour et merci Yurperqod, je croyais que c'étais l'auteur de la conversation qui me répondait !!
 
Dernière édition:
Hieu !! Bonjour !!!
Merci de ton aide!
J'ai une erreur de compilation d'entrée sur Sub mlk() et i = 1
La pièce jointe intègre ton code sous le bouton "Confirmation des Entrées Stock"
Pour pallier à mon imprécision... et répondre un peu à ta question...
Chaque ligne d'enregistrement comprend les infos suivantes (de gauche à droite)
La rubrique "En Cours" ce sont les chiffres qui précisent ce que détient personnellement le malade pour ses soins de la semaine (stock aval): sa consommation (déjà pris depuis qu'on lui a préparé son semainier) et son stock (reste à prendre à sa disposition) C'est suivit d'heures en heures.
La rubrique "stocks", sur laquelle on travaille la gestion et la mise à jour hebdomadaire du Stock (stock amont). Elle sert a vérifier constamment que les quantités nécessaires au prochain rechargement de semainier sont disponibles ou qu'en tout cas, elle le seront à temps. Elle sert aussi à gérer en les groupant les appros nécessaires avec une ou deux semaines d'avance.
La rubrique "Achats" répond à ces deux dernières nécessités en évaluant les besoins et les délais.
 

Pièces jointes

Dans un module standard, ça évite les déclarations de variables
(ouhh, je sais, les puristes me diront, que c'est pas bien !!)

Après lecture du fichier excel, je dirai qu'il faut commencer à i=11 ??
 

Pièces jointes

Hieu !! Bonjour !!!
Désolé il y a un Bp qui empêche le bouclage au delà de la première ligne.
Je ne suis pas expert et ne suis pas en mesure d'adapter ce code.
Je confirme que i=9
en attendant: Merci !
 
Là, ça marche !
Avec une tite modif, puisqu'on sait de où à où on loop, j'ai changé la boucle
Code:
Sub mlk()
Dim i As Integer
For i = 9 To Range("h65536").End(xlUp).Row
If Range("bm" & i) > 0 Then
    Range("bk" & i) = Range("bl" & i)
    Range(Range("bo" & i), Range("bp" & i)).ClearContents    ' cette ligne ne fonctionne pas
End If
Next i
End Sub
Il y avait un espace qui fasait bug le prog : Range("bo " & i) == > Corrected !!

edit :
voir post #3 !!
@Paf oups ^^ Dsl ^^
Pas vu. au temps pour moi.
Comme quoi, on a la meme facon de programmer !!
 

Pièces jointes

Dernière édition:
 
Bonjour aux uns !! Bonjour aux autres !!! et MERCI à tous !!
Je ne suis pas expert, je ne sais me repérer dans vos codes que par analogie... et ça rate souvent... Alors il y a des brides de votre conversation qui m'ont quelque peu échappées... Mais le tout est maintenant ficelé derrière un bouton et ça fonctionne à merveille !!!
A+
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…