XL 2010 Saisie Intuitive type Google

Zoman

XLDnaute Junior
Bonjour,

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.

Je vous mets le fichier en pj
 

Pièces jointes

  • Copie de SaisieIntuitiveGoogle.xls
    109.5 KB · Affichages: 20
Solution
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

Zoman

XLDnaute Junior
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 ?

Merci
 

GALOUGALOU

XLDnaute Accro
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.
pdf.gif

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
Enrichi (BBcode):
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "sauvegarde_" & Range("AW1") & "_" & compteur

le code pour boucler dans le classeur
Enrichi (BBcode):
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
cordialement
galougalou
 

Pièces jointes

  • Copie de CSaisieIntuitiveGoogle v5.xls
    160 KB · Affichages: 8

Zoman

XLDnaute Junior
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
Enrichi (BBcode):
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & "sauvegarde_" & Range("AW1") & "_" & compteur

le code pour boucler dans le classeur
Enrichi (BBcode):
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
cordialement
galougalou


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.

Merci encore
 

Zoman

XLDnaute Junior
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
@+

Bonjour,

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.

Une solution ?
 

Zoman

XLDnaute Junior
Bonjour,

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.

Ci joint le fichier pour mieux comprendre

Merci de m'aider svp !
 

Pièces jointes

  • SaisieIntuitiveGoogle v3-1...xls
    114 KB · Affichages: 4

GALOUGALOU

XLDnaute Accro
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
cordialement
galougalou
 

Pièces jointes

  • Copie de SaisieIntuitiveGoogle v5-1...xls
    123.5 KB · Affichages: 7

Zoman

XLDnaute Junior
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
cordialement
galougalou

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.

Merci encore
 

GALOUGALOU

XLDnaute Accro
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
cordialement
galougalou
 

Zoman

XLDnaute Junior
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
cordialement
galougalou
Merci je vais modifier le code et je vous dirai ce que ça donne.

merci encore vous êtes un génie
 

Zoman

XLDnaute Junior
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
cordialement
galougalou

Bonjour Galougalou,

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
    53.6 KB · Affichages: 1

Zoman

XLDnaute Junior
Bonjour Galougalou,

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

Bonjour,

Ci-joint mon nouveau document.

Vous pouvez intégrer les codes sur ce document ci joint

Merci

Cordialement
 

Pièces jointes

  • Test.xlsm
    17.1 KB · Affichages: 2

Discussions similaires

Statistiques des forums

Discussions
312 230
Messages
2 086 427
Membres
103 206
dernier inscrit
diambote