Aide VBA - Sauvegarder un ligne si 2 conditions sur une ligne sont OK

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 !

Talwayseb

XLDnaute Nouveau
Bonjour 😀

Je n'y arrive pas....
Pourriez-vous m'aider ?
Merci pour votre aide !!! 😉

Le fichier est dispo ici : Free - Envoyez vos documents

Principe :
Sauvegarder un ligne de la feuille "En cours" vers la Feuille "BDD" si 2 conditions sur une ligne sont OK.
Les Conditions sont :
- Colonne A = 2
- Colonne AS = 1

Problème n°1 :
Des formules sont appliquées sur plusieurs colonnes :
- Colonne A
Code:
=SI($AG5="";"";SI(ET($AP5="Payé";AM5="Terminée";OU($AJ5="Perçu";$AJ5="Nondemandé");$AG5=1);2;SI($AG5<2;1;0)))
- Colonne AF
Code:
=SOMME($AA5;$AC5;$AE5)
- Colonne AL
Code:
=SI(OU($AK5="";$AK5="Non");"";AF5*$AK5)

Le fait de couper la ligne de la feuille "En cours" pour la coller dans la 1ere ligne vide de la Feuille "BDD" peut créer des discordances dans les formules.
Idem si tri.
Faire un équivalent en VBA qui palie aux problèmes.

Problème n°2 :
Est il possible de créer 2 listes déroulantes "Commune" + "Code Postal" indépendante l'une de l'autre ?
Si on renseigne la liste "Commune" => Afficher dans la liste "Code postal" les codes Postaux restant.
Si on renseigne la liste "Code Postal" => Afficher dans la liste "Commune" les communes restantes.

Problème n°3 :

Etape n°1
Appliquer une Action si 2 conditions sur une ligne

'Dans la feuille "En Cours",
'Si la Valeur de la Colonne "A5:A" est "2", et si la valeur de la Colonne "AS5:AS" est "1" alors

Code:
Select Case MsgBox("Archiver vers la BDD ?", vbOKCancel + vbQuestion, "Base De Donnée")

- Etape n°2 OK

Code:
Case vbOK

'la ligne est couper pour être coller à la derniere ligne dans la feuille "BDD"
'Recherche de la première cellule vide de la colonne à partir de A5
Code:
With Worksheets("BDD").Range("A5:A65535")
        Set c = .Find("", LookIn:=xlValues)
        If Not c Is Nothing Then
        Position = c.Address
        Range(Position).Select
        End If
        End With
        ActiveSheet.Paste

- Etape n°3
'Suppression des doublons si toutes les colonnes sont identiques (Ne pas prendre en compte la Colonne AT)

- Etapee n°4
Code:
MsgBox "La mise à jour est achevée !"

- Etape n°2 Annuler
Code:
Case vbCancel
'CreateObject("Wscript.shell").Popup "Opération annulée !!!", 2, "Message", vbExclamation
 
Re : Aide VBA - Sauvegarder un ligne si 2 conditions sur une ligne sont OK

Bonjour Talwayseb, le forum,
J’ai regardé ton fichier et j’ai été surpris par le poids de celui-ci (1131 ko). Personnellement, je mettrai les données sous forme de tableau, et supprimerai toutes les icônes (la présentation est parfaite, mais alourdie le fichier).
Cordialement,
Bernard
 
- 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
7
Affichages
106
Réponses
4
Affichages
148
Réponses
20
Affichages
714
Retour