Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
j'ai trouvé des tutos pour un saisie automatique en mode recherche de Google.Pour le Combo box 1 y'a aucun soucis mais pour le Combo box 2 j'y arrive pas.
Je veux afficher le nom et prénom dés que je saisie la première lettre du nom mais avec les noms et prénoms qui se trouve dans la cellule CD.
En espérant être claire dans mes explications, merci de vos réponses.
re
il faut bien identifier sur le code toutes les lignes ou figure le nom de la feuille et les modifier en conséquence
dans le nouveau classeur il ne faut pas oublier de nommer les plages ou se trouve les données liste pour la combobox1 et liste2 pour la combobox2
cordialement
galougalou
J'ai bien le module 1 dans mes macros avec le même code j'ai affecter la macro ajout onglet et jai cliqué sur ok mais ça fait la même chose il ne se passe rien si je clique sur le bouton c'est un peu bizarre
J'ai rien dit ça marche j'ai changé le nom Test merci pour pour vos réponses et pour la rapidité et l’efficacité des rèponses.
Maintenant une dernière question est-il possible de faire en sorte que dés que tu cliques sur un bouton ça enrégistre le fichier en pdf mais sans la feuille "BD" et "CD" juste les feuilles test ?
oui
mais je ne n'ai pas la réponse immédiate. je quitte le forum. je m'en occupe ce soir. à moins que d'ici là un intervenant vous apporte la solution
cordialement
@+
galougalou
oui
mais je ne n'ai pas la réponse immédiate. je quitte le forum. je m'en occupe ce soir. à moins que d'ici là un intervenant vous apporte la solution
cordialement
@+
galougalou
re zoman
dans feuille test cellule ax1 un compteur s'incrémente pour ne pas écraser l'ancienne version de la sauvegarde pdf. vous pouvez réinitialiser ce compteur
dans la feuille Test, bien faire votre réglage pour impression, choisir la zone, mode paysage ou portrait, 1 page en hauteur et en largeur, les marges, etc.
si vous adapter la macro dans un autre classeur, pour les feuilles attention a la concordance des noms.
en rouge à modifier
'''f1 = Sheets("BD").Name
''''f2 = Sheets("CD").Name
'''F3 = Sheets("INFO").Name
et attention à la feuille ("TEST") qui se trouve à différent endroit.
j'ai rajouté une feuille INFO pour une information en début de macro d'exportation de PDF .
vous pouvez modifier les noms de l'exportation sur cette ligne
Sub boucle_sauvegarde_pdf()
Dim ws As String
Dim f1 As String
Dim f2 As String
f1 = Sheets("BD").Name
f2 = Sheets("CD").Name
F3 = Sheets("INFO").Name
Sheets(F3).Select
If MsgBox("Confirmez vous l'exportation PDF dans le dossier source ?", vbYesNo) = vbYes Then
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
Sheets(i).Select
ws = ActiveSheet.Name
If ws <> f1 Then
If ws <> f2 Then
If ws <> F3 Then
Call EnrPDF
End If
End If
End If
Next
Application.ScreenUpdating = True
MsgBox "Exportation terminé"
End If
Sheets("Test").Select
End Sub
le code pour l'exportation en pdf
Enrichi (BBcode):
Sub EnrPDF()
Dim compteur As Integer
Dim Chemin As String
Chemin = ThisWorkbook.Path & "\"
compteur = Sheets("Test").Range("AX1").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "sauvegarde_" & Range("AW1") & "_" & compteur
Sheets("Test").Range("AX1").Value = Sheets("Test").Range("AX1").Value + 1
End Sub
re zoman
dans feuille test cellule ax1 un compteur s'incrémente pour ne pas écraser l'ancienne version de la sauvegarde pdf. vous pouvez réinitialiser ce compteur
dans la feuille Test, bien faire votre réglage pour impression, choisir la zone, mode paysage ou portrait, 1 page en hauteur et en largeur, les marges, etc. Regarde la pièce jointe 1067177
si vous adapter la macro dans un autre classeur, pour les feuilles attention a la concordance des noms.
en rouge à modifier
'''f1 = Sheets("BD").Name
''''f2 = Sheets("CD").Name
'''F3 = Sheets("INFO").Name
et attention à la feuille ("TEST") qui se trouve à différent endroit.
j'ai rajouté une feuille INFO pour une information en début de macro d'exportation de PDF .
vous pouvez modifier les noms de l'exportation sur cette ligne
Sub boucle_sauvegarde_pdf()
Dim ws As String
Dim f1 As String
Dim f2 As String
f1 = Sheets("BD").Name
f2 = Sheets("CD").Name
F3 = Sheets("INFO").Name
Sheets(F3).Select
If MsgBox("Confirmez vous l'exportation PDF dans le dossier source ?", vbYesNo) = vbYes Then
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
Sheets(i).Select
ws = ActiveSheet.Name
If ws <> f1 Then
If ws <> f2 Then
If ws <> F3 Then
Call EnrPDF
End If
End If
End If
Next
Application.ScreenUpdating = True
MsgBox "Exportation terminé"
End If
Sheets("Test").Select
End Sub
le code pour l'exportation en pdf
Enrichi (BBcode):
Sub EnrPDF()
Dim compteur As Integer
Dim Chemin As String
Chemin = ThisWorkbook.Path & "\"
compteur = Sheets("Test").Range("AX1").Value
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "sauvegarde_" & Range("AW1") & "_" & compteur
Sheets("Test").Range("AX1").Value = Sheets("Test").Range("AX1").Value + 1
End Sub
Merci pour votre réponse, je vais voir le code demain après je reviendrai vers vous par contre je ne comprends pas pourquoi vous avez mis réglage pour impression. J'ai juste besoin de générer le fichier en pdf sans la feuille BD ni CD.
re zoman
la feuille sera exporté en pdf en fonction de la zone d'impression.
si vous n'effectuer pas un réglage sommaire, vous aurez un pdf découpé.
toutes vos problématiques sont respéctées, donc sans la feuille bc ni cd
@+
re zoman
la feuille sera exporté en pdf en fonction de la zone d'impression.
si vous n'effectuer pas un réglage sommaire, vous aurez un pdf découpé.
toutes vos problématiques sont respéctées, donc sans la feuille bc ni cd
@+
Merci de votre réponse à ma problématique, j'ai essayé votre code mais c'est compliqué pour moi de faire toutes ses manipulations (numérotation, réglage impression, ...). j'ai l’enregistrement en pdf mais je vois même le fichier enregistrer. j'ai utilisé un code dans l'autre discussion ça marche bien mais soucis maintenant c'est quand je clic sur "nouvel onglet" pour créer une autre feuille il me demande de cliquer sur "ok" ou "annuler" même si je clic sur annuler ça crée un nouvel onglet quand même.
Je voulais créer un bouton de remise à zéro qui permet d'effacer tout ce qu'on a saisi ou créer après l'ouverture du fichier (ça doit effacer même les onglets qui sont créés après l'ouverture du fichier.
J'aimerais aussi bloquer l’enregistrement si l'utilisateur mets un "X" sur la cellule F15 ou F16 ou G15 ou G16 colorés en bleu tant qu'il n'aura pas écris quelques choses sur la cellule A21 coloré en vert.
En gros dés que l'utilisateur saisi un X sur ses cellules là, il doit obligatoirement mettre un commentaire sur la partie A21 si non il pourra pas continuer à saisir quoi que ce soit ni enregistrer le document.
bonjour zoman bonjour le fil bonjour le forum
réponse au #23
les codes de plusieurs intervenants ne sont pas forcément compatibles entre eux. si vous les mélanger, (c'est tout a fait possible) à vous d'apprécier et d'adapter la cohérence entre les codes.
si vous prenez le temps de vous poser et de comprendre, vous verrez que la solution que je vous ai proposée paraît compliquée, mais ce n'est pas le cas.
il ne s’agit pas de concevoir mais d'adapter, vous devriez y arriver.
reponse au #23
pour le bouton de remise à zéro, servez vous de l'enregistreur de macro, il vous donnera la solution
pour la deuxième partie
une macro dans l'évènement de la feuille une dans l'évènement du classeur
Enrichi (BBcode):
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Then
If Sheets("Test").Range("a21") = "" Then
Sheets("Test").Select
Cancel = True
MsgBox "Renseigner la feuille Test en cellule A21 !"
Else
If Range("a16") <> "" Then
Cancel = False
End If
End If
End If
End Sub
Private Sub Worksheet_Deactivate()
If Range("f15") = "x" Or Range("f15") = "x" Or Range("f15") = "x" Or Range("f15") = "x" Then
If Range("a21") = "" Then
Sheets("Test").Select
MsgBox "Renseigner al feuille Test, cellule A21 !"
End If
End If
End Sub
bonjour zoman bonjour le fil bonjour le forum
réponse au #23
les codes de plusieurs intervenants ne sont pas forcément compatibles entre eux. si vous les mélanger, (c'est tout a fait possible) à vous d'apprécier et d'adapter la cohérence entre les codes.
si vous prenez le temps de vous poser et de comprendre, vous verrez que la solution que je vous ai proposée paraît compliquée, mais ce n'est pas le cas.
il ne s’agit pas de concevoir mais d'adapter, vous devriez y arriver.
reponse au #23
pour le bouton de remise à zéro, servez vous de l'enregistreur de macro, il vous donnera la solution
pour la deuxième partie
une macro dans l'évènement de la feuille une dans l'évènement du classeur
Enrichi (BBcode):
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Then
If Sheets("Test").Range("a21") = "" Then
Sheets("Test").Select
Cancel = True
MsgBox "Renseigner la feuille Test en cellule A21 !"
Else
If Range("a16") <> "" Then
Cancel = False
End If
End If
End If
End Sub
Private Sub Worksheet_Deactivate()
If Range("f15") = "x" Or Range("f15") = "x" Or Range("f15") = "x" Or Range("f15") = "x" Then
If Range("a21") = "" Then
Sheets("Test").Select
MsgBox "Renseigner al feuille Test, cellule A21 !"
End If
End If
End Sub
Merci encore en fait je me suis mal exprimé tout à l'heure. si l'utilisateur saisi un X sur la partie bleu il doit obligatoirement remplir la Cellule A21 si non il ne pourra pas lancer le bouton pour enregistrer le fichier en PDF.
J'ai essayé le code, il marche bien mais par exemple si on crée un autre onglet et que l'utilisateur met un X sur la cellule F15 il pourra quand même lancer le fichier en pdf et fermer le fichier excel. C'est ça que je veux bloquer même s'il crée plusieurs onglets.
Pour le bouton de remise à zéro, je vais essayer de me servir de l'enregistreur de macro.
re
modifiez la macro création d'onglet par le code ci_dessous
rappel si vous adapter dans un autre classeur attention au nom de la feuille.
Enrichi (BBcode):
Sub ajoutonglet()
Dim Nom As String
On Error GoTo GestionErreur 'début du code
If Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Then
If Sheets("Test").Range("a21") <> "" Then
Nom = InputBox("Ne pas saisir de caractère interdit dans un nom d'onglet. si vous saisissez un nom déjà utilisé l'onglet sera renommé Test (2): ", "NOM", "Test")
Sheets("Test").Copy After:=Worksheets("Test")
ActiveSheet.Name = Nom
'Fin du code
Else
MsgBox "Renseigner la feuille Test en cellule A21 !"
End If
End If
GestionErreur:
End Sub
re
modifiez la macro création d'onglet par le code ci_dessous
rappel si vous adapter dans un autre classeur attention au nom de la feuille.
Enrichi (BBcode):
Sub ajoutonglet()
Dim Nom As String
On Error GoTo GestionErreur 'début du code
If Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Then
If Sheets("Test").Range("a21") <> "" Then
Nom = InputBox("Ne pas saisir de caractère interdit dans un nom d'onglet. si vous saisissez un nom déjà utilisé l'onglet sera renommé Test (2): ", "NOM", "Test")
Sheets("Test").Copy After:=Worksheets("Test")
ActiveSheet.Name = Nom
'Fin du code
Else
MsgBox "Renseigner la feuille Test en cellule A21 !"
End If
End If
GestionErreur:
End Sub
re
modifiez la macro création d'onglet par le code ci_dessous
rappel si vous adapter dans un autre classeur attention au nom de la feuille.
Enrichi (BBcode):
Sub ajoutonglet()
Dim Nom As String
On Error GoTo GestionErreur 'début du code
If Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Or Sheets("Test").Range("f15") = "x" Then
If Sheets("Test").Range("a21") <> "" Then
Nom = InputBox("Ne pas saisir de caractère interdit dans un nom d'onglet. si vous saisissez un nom déjà utilisé l'onglet sera renommé Test (2): ", "NOM", "Test")
Sheets("Test").Copy After:=Worksheets("Test")
ActiveSheet.Name = Nom
'Fin du code
Else
MsgBox "Renseigner la feuille Test en cellule A21 !"
End If
End If
GestionErreur:
End Sub
J'ai essayé le code et ça marche mais j'ai essayé de l'adapter avec un autre classeur en changeant le nom de la feuille en Test pour ne pas changer le code mais ça ne marche pas.
Je veux obliger l'utilisateur à remplir la cellule A21 en couleur vert s'il met un "X" sur la cellule f15 en bleu. s'il ne rempli pas la cellule A21, il ne pourra pas cliquer le bouton enregistrer en PDF ni fermer le fichier. je veux aussi que ses conditions s'appliquent sur les autres onglets créés.
Merci de votre aide !
Je vous met le fichier en PJ
Pièces jointes
Copie de Copie de SaisieIntuitiveGoogle v5-1...xlsm
J'ai essayé le code et ça marche mais j'ai essayé de l'adapter avec un autre classeur en changeant le nom de la feuille en Test pour ne pas changer le code mais ça ne marche pas.
Je veux obliger l'utilisateur à remplir la cellule A21 en couleur vert s'il met un "X" sur la cellule f15 en bleu. s'il ne rempli pas la cellule A21, il ne pourra pas cliquer le bouton enregistrer en PDF ni fermer le fichier. je veux aussi que ses conditions s'appliquent sur les autres onglets créés.
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.