Petit probleme pseudo formulaire et enregistrement macro

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

steph34

XLDnaute Junior
Bonjour le forum et...Bonne année (il est encore temps)

je voudrai alimenter une BD excel à l'aide d'un "pseudo" formulaire créer avec l'enregistrement d'une macro.

l'enregistrement fonctionne mais me fait "sauter la page" lorsque j'enregistre.
Et quand je veux masquer les deux ligne du haut de mon onglet "nouveau" cela me masque aussi les lignes de mon onglet "BD".
Comme je suis pas bon en VBA j'ai du mal à modifier la macro crée.

Je sens que je ne suis pas clair dans mes explications je vous joint donc le fichier.

Merci de votre aide et explications

Edit: fichier modifié
 

Pièces jointes

Dernière édition:
Re : Petit probleme pseudo formulaire et enregistrement macro

Bonjour,

Pour éviter "la page qui saute" mettre en début de SUB l'instruction : Application.ScreenUpdating = False
et en fin de SUB l'instruction : Application.ScreenUpdating = True

Sub Enregistrer_Nouveau()
'
' Enregistrer_Nouveau Macro
'

Application.ScreenUpdating = False
Sheets("Base_CA").Select
Rows("2:2").Select
...
...
...
[Cell_locatiers] = "-"
[Cell_clients] = "-"
Application.ScreenUpdating = True
End Sub


Pour le masquage des lignes 1 et 2 de la feuille 'Nouveau', ça marche très bien chez moi.
 
Dernière édition:
Re : Petit probleme pseudo formulaire et enregistrement macro

(re) Bonsoir,

En général l'enregistreur de macro crée un code 'verbeux' qu'on peut simplifier par la suite pour le rendre plus lisible.

De plus l'enregistreur abuse des instruction select dont on peut la plupart du temps éviter l'emploi.

J'ai réécris rapidement votre code en le simplifiant un peu et en ôtant les select à priori inutiles. N'hésitez pas à demander des explications supplémentaires si besoin.

Code:
Sub Annuler()
    Range("C9:C12,C15:C16,C19:C20,C22:C24,C26:C28,F9:F12,F15:F16,F19:F20,F22").FormulaR1C1 = "-"
    Range("C10").ClearContents
    Range("C9").Select
End Sub

Sub Enregistrer_Nouveau()
    Application.ScreenUpdating = False
    Sheets("Base_CA").Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("Nouveau").Rows("2:2").Copy
    Sheets("Base_CA").Range("A2").PasteSpecial Paste:=xlPasteValues
    Sheets("Base_CA").Range("A2").PasteSpecial Paste:=xlPasteFormats
    Annuler
    Application.ScreenUpdating = True
End Sub
 
Dernière édition:
Re : Petit probleme pseudo formulaire et enregistrement macro

Bonsoir,

J'ai compris votre pb. de ligne cachée. Cela vient du fait que vous collez en ligne 2 de la Feuille 'Base CA' la ligne 2 de la feuille 'Nouveau' une fois en valeur puis une fois en format. Quand vous collez en format une ligne masquée, alors la ligne collée est aussi masquée. J'ai rajouté une instruction pour rendre la ligne collée visible.

Code:
Sub Annuler()
   Range("C9:C12,C15:C16,C19:C20,C22:C24,C26:C28,F9:F12,F15:F16,F19:F20,F22").FormulaR1C1 = "-"
   Range("C10").ClearContents
   Range("C9").Select
End Sub

Sub Enregistrer_Nouveau()
    Application.ScreenUpdating = False
    Sheets("Nouveau").Rows("2:2").Copy
With Sheets("Base_CA")
    .Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    .Range("A2").PasteSpecial Paste:=xlPasteValues
    .Range("A2").PasteSpecial Paste:=xlPasteFormats
    .Rows(2).Hidden = False
End With
Annuler
Application.ScreenUpdating = True
End Sub
 
Dernière édition:
Re : Petit probleme pseudo formulaire et enregistrement macro

Bonsoir mapomme

merci de vos réponses.
je test tout cela de suite.

Pour sécuriser un peut ce formulaire genre on enregistre pas, si rien n'est rempli ou si par exemple
les champs "entreprise" "date" et moi ne sont pas remplis. Vous auriez une idée.

merci à vous
 
Re : Petit probleme pseudo formulaire et enregistrement macro

Re
Je viens de tester mais ça ne fonctionne pas.
Ca ne "saute plus" c'est déjà ça.
Par contre enregistrer marche une fois et me fait planter. débord erreur 9 (je crois) puis gel.
merci encore

EDIT: J'ai compris pour le masquage en fait je sélectionnais la ligne entière sur "nouveau" au lieu de ne selectionner que les cellules concernaient à savoir "A2:Y2"
 
Dernière édition:
Re : Petit probleme pseudo formulaire et enregistrement macro

Re
merci du fichier mais chez moi il plante
Erreur.PNG

Je sais pas si tu avais vu mon edit plus haut:
EDIT: J'ai compris pour le masquage en fait je sélectionnais la ligne entière sur "nouveau" au lieu de ne selectionner que les cellules à savoir "A2:Y2"

J'ai modifié ton code pour que le RAZ et l'annulation ne concerne pas les cellules C11 et C12.

merci de ton intérêt
 

Pièces jointes

- 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
40
Affichages
3 K
Réponses
2
Affichages
555
  • Question Question
Microsoft 365 cloud et macro
Réponses
4
Affichages
1 K
Réponses
2
Affichages
609
Retour