COMMENT FAIRE DE CES 2 MACROS UNE SEULE

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

E

Eric

Guest
1°) COMMENT LIEE CES 2 MACROS POUR QUELLE NE FASSE PLUS QU'UNE, QUE JE PUISSE AFFECTER A UN BOUTON.

2°) D'AUTRE PART DS UNE LISTE EST T'IL POSSIBLE DE TRIER LES DONNEES CONTENUES S CELLE-CI EN UTILISANT DES FOURCHETTES (COMPRIS ENTRE)

MERCI D'AVANCE POUR VOTRE AIDE.

MACRO(1)

Option Explicit

Const MandatN° = "B3"
Const Prix = "I2"
Const TypeAff = "B7"
Const Secteur = "I7"
Const CP = "C13"
Const Ville = "G13"
Const NbChbre = "H25"
Const Salon = "D33"
Const Sejour = "D32"
Const Terrain = "B60"
Const Garage = "D52"
Const Nom = "B9"
Const Prenom = "H9"


Const NbChamps = 13

Const Masque = "MASQUE SAISIE"
'Le nom du fichier Base
Const FBase = "base.xls"
'le nom de la feuille du fichier Base où copier les données
Const Base = "BASE"


--------------------------------------------------------------------------------------------
Function LastLigne(NomFichier, NomFeuille)
LastLigne = Workbooks(NomFichier).Worksheets(NomFeuille).Range("A65534"). _
End(xlUp).Offset(1, 0).Row
End Function

-------------------------------------------------------------------------------------------
Private Function Is_Ouvert(P_Fichier) As Variant
Is_Ouvert = False
On Error Resume Next
Is_Ouvert = Workbooks(P_Fichier).Name
End Function

-------------------------------------------------------------------------------------------
Sub Valide_Saisie()

Dim Ligne As String
Dim Champs, Boucle As Byte
Dim ValBase
Dim ValMasque



Champs = Array(MandatN°, Prix, TypeAff, Secteur, CP, Ville, NbChbre, Salon, Sejour, Terrain, Garage, Nom, Prenom)

If Is_Ouvert(FBase) = False Then Workbooks.Open FBase
Set ValMasque = ThisWorkbook.Worksheets(Masque)
Set ValBase = Workbooks(FBase).Worksheets(Base)
Ligne = LastLigne(FBase, Base)
For Boucle = LBound(Champs) To UBound(Champs)
'With Worksheets(Masque).Range(Champs(Boucle))
With ValMasque.Range(Champs(Boucle))
ValBase.Cells(Ligne, Boucle + 1).Value = .Value

End With
Next Boucle
End Sub
----------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

MACRO(2)

Sub Enr_Fin()

ChDir "C:\Affiches"
nomrepertoire = CurDir & "\" & Range("B3").Value
If Dir(nomrepertoire, vbDirectory) <> "" Then MsgBox "Répertoire Existant, Validez par OK" Else MkDir nomrepertoire
nomsauvegarde = nomrepertoire & "\" & Range("B3").Value

ActiveWorkbook.SaveAs Filename:=nomsauvegarde, FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False


ChDir "C:\Eric\Mandats"
ActiveWorkbook.SaveAs Filename:=Range("B3").Value, FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False

MsgBox "Votre fiche est enregistrée. MERCI."

End Sub
 
- 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
3
Affichages
686
Réponses
22
Affichages
4 K
Retour