Communauté Fb
Follow us on twitter
Les vidéos du site
Le site complément
Dépannage de votre PC

Programmer en vb

Bonjour et bienvenue,

Programmer en VB est le site qui vous fera prendre conscience que vous pouvez concevoir votre programme informatique vous-même, que vous soyez artisan, employé ou étudiant.

Le Visual Basic est un langage informatique très puissant, très flexible et très abordable.
Une version en application se trouve sous Office
Excel pour exemple :
Tapez Alt + F11 à l’aide de votre clavier puis vous voilà dans l’éditeur de code VBA.

Notre forum d’entraide vous offre des tutoriels ainsi que divers exemples tout prêt à adapter à votre projet personnel.
Nous vous demandons uniquement de la bonne humeur et de la bonne volonté pour toutes questions ou toutes aides quelle qu’elle soit.
Sachez que pour progresser rapidement il est conseillé d’aider au mieux les autres membres.
Nous ne sommes pas là pour juger les qualités ou défauts de codes proposés, mais pour trouver ensemble la solution à votre demande.

A vos claviers :

Afin de remplir le forum, nous vous demandons de partager sur les réseaux sociaux et autres.
https://www.facebook.com/AdminPVB/


Merci de nous rejoindre sur http://programmer-en-vb.forumactif.org/
Merci d'avoir pris le temps de lire.
Merci pour votre inscription.

L'équipe de Programmer-en-VB

Forum de programmation VBA et VB.NET

Welcome if you does not speak french,you are able to translate the whole topics with the flags just below of this message. Click to English

Visual Basic Application et VB.net de puissants langages à la portée de tous.

Participez et soyez acteurs des divers forums ci-dessous.

Bienvenue à chaque nouveaux membres et merci à tous ceux qui font vivre ce forum.


Qui est en ligne ?

Il y a en tout 8 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 8 Invités

Aucun


Le record du nombre d'utilisateurs en ligne est de 65 le Mar 8 Juil - 23:40

Statistiques

Nos membres ont posté un total de 5158 messages dans 620 sujets

Nous avons 461 membres enregistrés

L'utilisateur enregistré le plus récent est RACCH

Recherche dans les forums

Utiliser cette méthode afin de trouver rapidement les discussions disponible sur notre forum.


Derniers sujets

» EFFACER LIGNE SUR BASE
par AdminPVB Aujourd'hui à 6:43

» Menustrip Vbnet Visual Studio
par Berly Dim 17 Sep - 13:27

» Insertion commentaire dans cellules
par Berly Ven 15 Sep - 20:21

» Chercher un texte dans un commentaire de cellule
par Berly Ven 15 Sep - 20:10

» ameliorer informatique
par jmcr Jeu 14 Sep - 23:19

» question pour le forum
par AdminPVB Jeu 14 Sep - 16:59

» total d'une cellule
par jmcr Lun 11 Sep - 14:51

» CODE ET combobox date enregistrement
par jmcr Lun 11 Sep - 14:49

» compter le nombre de lignes dans un listbox
par jmcr Dim 10 Sep - 11:24

» dossier pdf
par jmcr Mer 6 Sep - 21:40

» suppression d'un fichier txt en cours d'utilisation
par La boc Mar 5 Sep - 20:12

» Boucle sur DataGridView
par AdminPVB Ven 1 Sep - 20:50

» RECHERCHE COMPTABILISER NOMBRE carte
par grisan29 Mar 29 Aoû - 17:49

» ancien temps mis au moderne
par Berly Mar 29 Aoû - 17:18

» Liers des tables dans une BDD
par La boc Mar 29 Aoû - 11:01

Utiliser le bouton résolu

Dans votre message d'origine
cliquer sur le bouton



Ensuite tout en bas sur
Modifier le titre du sujet
cliquer sur le bouton

Résolu !!!

Ensuite changer l’icône du sujet par le bouton

Voilà pas plus compliqué que cela.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Partenaires


créer un forum



Annuaire referencement


Flux RSS


MSN 

Septembre 2017

LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 

Calendrier Calendrier

Menustrip Vbnet Visual Studio

Sam 16 Sep - 21:05 par Berly

Bonsoir le Forum  Very Happy

Je suis actuellement en construction  d'un logiciel pour les enfants en scolarité primaire.(Visual Studio Community 2017)

Je l'ai commencé et il fonctionne parfaitement a ce stade.

J'utilise Le contrôle MenuSrip.

Au commencement il est question d'afficher par catégorie tables de 1 a 10 .
Un Premier Bouton "Tables de Multiplications" Aucun événement 
Puis Ajouts …

[ Lecture complète ]
suppression d'un fichier txt en cours d'utilisation

Mar 5 Sep - 9:51 par La boc

Bonjour,

dans mon application j'ai un fichier txt qui est chargé dans un DataGridView en fonction du n° ID.

Quand je supprime un ID, je dois aussi supprimer ce fichier, quand je fait un delete ça marche bien, le fichier est bien supprimé du dossier mais quand je ferme l'application j'ai un message box:

"Violation de l’accès concurrentiel:
Delete command a effectué 0 des enregistrements …

[ Lecture complète ]
Boucle sur DataGridView

Jeu 31 Aoû - 8:25 par La boc

Bonjour as tous,

J'ai laissé tomber la BDD avec les tables pour mes factures, parce-que j'ai plus de 850 entrées à gérer et ça va être un peu trop lourd.

Je suis donc partis sur des DataGridView pour emplir mes factures, et au lieu d'enregistrer dans une BDD j'enregistre dans un fichier txt et je recharge les fchier en fonction du nom du client.

Jusque là pas de problème.

Je voudrais …

[ Lecture complète ]
Liers des tables dans une BDD

Lun 28 Aoû - 15:08 par La boc

Bonjour à tous,

Je sèche sur un problème visiblement simple, mais impossible de faire quelque chose qui fonctionne!

Voilà dans une base de données access j'ai deux tables, une table client et une table facture, je souhaiterais lier les ID des deux tables pour que quand je choisis un id client j'ai sa facture dans la table facture.

Je fais une application VBNET avec Visulal studio comunity …

[ Lecture complète ]
Application

Lun 15 Mai - 19:02 par Berly

Bonjour le forum

Souci dans une nouvelle application.

Total des énoncés =3

Ecriture de l'énoncé 1 dans un Textbox.

Je voulais créer plusieurs problèmes différents.
Dons pour cela j'ai créé 3 sub  Laughing.

Lors de l'événement clic sur le bouton créé pour visualiser le premier énoncé celui ci s'affiche correctement Very Happy .
Suite a cela l'utilisateur donne le résultat ,et un Msgbox …

[ Lecture complète ]
Obtenir le volume sonore enregistré par le micro

Sam 10 Sep - 13:29 par Nayl.VBcoder

Bonjour,

Je cherche à avoir le volume sonore de la pièce en temps réel, et l'afficher dans une ProgressBar.
Je ne vois pas comme plus décrire mon problème.

Merci de vos réponses.

Petits bidouillages pour ce faciliter La vie ,Astuces et codes pratique

Dim 11 Juin - 12:20 par Berly

Bonjour le Forum  Very Happy.

Lorsque j'écrivais dans mon code Console.Writeline ("Patati,Patata,......) ,j'ai d'abord utilisé le copié collé en changeant la valeur du texte .

Bon d'accord ,c'est bien mais ,ça me saoul un peu ,au fur et a mesure de mes apprentissages ,j'ai découvert les fonctions  Very Happy.

Maintenant je partage celle ci avec vous .

On est la sur un exemple de code en "Mode …

[ Lecture complète ]
Utilisation d'un objet son (Wav)

Jeu 18 Mai - 21:48 par Berly

Bonjour le forum 

Voila , je voudrais savoir si on peut créer un tableau d'objets son.
Difficile de trouver ce genre d'information .

Les sons  sont intégrés en ressources programme.

Merci  Very Happy
Code:
[Module Module1
    Dim son1 = New System.Media.SoundPlayer(My.Resources._0283)
    Dim son2 = New System.Media.SoundPlayer(My.Resources._0863)
    Dim son3 = New …


[ Lecture complète ]
Ressource Vb.net

Ven 5 Mai - 22:29 par Berly

Bonsoir le forum

Toujours a la recherche de ressources ,je partage avec vous une nouvelle ressource  Wink.

Bonne lecture .

https://vbnetpourtous.wordpress.com/2012/12/13/les-variables/


Publipostage Excel vers Excel

Partagez
avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Publipostage Excel vers Excel

Message par danpom302 le Jeu 8 Sep - 16:56

Bonjour à tous,

Je cherche un code permettant de faire en boucle ce qui suit et ce, pour chaque client du registre :

1) Enregistrer en format pdf la feuille Excel "Soumission" (Voir le fichier Excel ci-joint) sous C:\Users\Utilisateur\Documents\VL\Soumission_Contrat\2016.


2) Imprimer une enveloppe avec le nom du client et son adresse complète à partir d'une imprimante réservée à cet effet.

3) Imprimer 2 copies de la soumission enregistrée en format pdf.

Est-ce possible?

Merci à l'avance pour votre aide,

Dan
Fichiers joints
EssaiPubl1.xlsx
Vous n'avez pas la permission de télécharger les fichiers joints.
(86 Ko) Téléchargé 5 fois
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Publipostage Excel vers Excel

Message par AdminPVB le Jeu 8 Sep - 19:46

Bonjour Danpom302,
voici un code d'export pour commencer:
Code:
Sub exportPDF()
Dim nom As String
nom = "test"
Worksheets("Soumission").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Utilisateur\Documents\VL\Soumission_Contrat\2016\" & nom & ".pdf", Quality:=xlQualityStandard, DisplayFileAfterPublish:=True
End Sub
A tester
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Publipostage Excel vers Excel

Message par danpom302 le Sam 10 Sep - 16:48

Bonjour admin PVB,

Merci pour ton cde mais il ne fonctionne pas ou je ne comprends pas son fonctionnement.

Voici le code que j'ai réalisé pour mon publipostage Excel vers Excel. Malheureusement, j'ai un petit problème; un message me dit que je ne peux boucler (Loop) si je n'ai pas de Do avant. Pourtant, j'en ai un. As-tu une idée pour remédier à ce petit problème? Je n'y parviens pas. Sad

Code:
Sub ImprMult1()
'
' Impression mult1ple Macro
'
' Ne pas raffraichir l'écran.
    Application.ScreenUpdating = False
   
' Sélectionner la feuille Déneigement puplipostage. Déprotéger la feuille active. Afficher les colonnes masquées N à BJ.
    Sheets("Déneigement publipostage").Select
    ActiveSheet.Unprotect "lune666"
    Columns("N:BJ").Select
    Selection.EntireColumn.Hidden = False
       
' Sélectionner la feuille Registre clients. Déprotéger la feuille Active. Copier les cellules B3 à AU1001
    Sheets("Registre clients").Select
    ActiveSheet.Unprotect "lune666"
    Range("B3:AU1001").Select
    Selection.Copy
    Range("A3").Select
   
' Sélectionner la feuille Déneigement puplipostage, la déprotéger et coller les données en P126.
    Sheets("Déneigement publipostage").Select
    ActiveSheet.Unprotect "lune666"
    Range("P126").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   
' Boucler jce qui suit jusqu'à ce que la cellule P126 soit vide.

Do While ActiveCell.Value = Empty
    Range("P126:BJ126").Select
    Selection.Copy
    Range("P124:BJ124").Select
    ActiveSheet.Paste
    Range("P126:BJ126").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlUp
    Range("A1").Select

' Préparer le document PDF
    Dim MonFichier As String
    Dim MonAdresse As String
    Dim mon_pdf As String
   
    mon_pdf = [D10] & " " & [K5]
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & mon_pdf & " .pdf", Quality:=xlQualityStandard
    MonFichier = ActiveWorkbook.Path & "\" & mon_pdf & " .pdf"
       
' Copier et coller les valeurs des cellules P115:X115 vers P116:X116 puis imprimer le document
    Sheets("Déneigement publipostage").Select
    Range("P115:X115").Select
    Selection.Copy
    Range("P116").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    Range("A1").Select
   
                    'ActiveWindow.SelectedSheets.PrintOut Copies:=2
       
' Données Déneigement publipostage vers Registre SC pour déterminer la ligne pour coller les données.
    Sheets("Registre SC").Select
    ActiveSheet.Unprotect "lune666"

Dim dernière_ligne_vide As Long
    dernière_ligne_vide = Sheets("Registre SC").Range("B65000").End(xlUp).Row

For i = 0 To 8
    Sheets("Registre SC").Unprotect "lune666"
    Sheets("Registre SC").Cells(dernière_ligne_vide + 1, 2 + i).Value = Sheets("Déneigement publipostage").Cells(115, 16 + i).Value

Next
' Trier les données par client en ordre croissant
    Sheets("Registre SC").Sort.SortFields.Clear
    Sheets("Registre SC").Sort.SortFields.Add Key:=Range( _
    "C4:C1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
    xlSortNormal

With Sheets("Registre SC").Sort
    .SetRange Range("A4:J1000")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
    Range("A4").Select
    Range("A4").Activate
   
    Sheets("Déneigement publipostage").Select
   
Loop

' Sélectionner la feuille Déneigement publipostage.
    Sheets("Déneigement publipostage").Select
   
'Protéger la feuille
    ActiveSheet.Protect "lune666", DrawingObjects:=True, Contents:=True, Scenarios:= _
    True, AllowFormattingCells:=False, AllowSorting:=True, AllowFiltering:=True
    Range("A1").Select

    Range("A1").Select

' Enregistrer le classeur
    ActiveWorkbook.Save

End Sub

Merci pour ton aide, Very Happy

Dan
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: Publipostage Excel vers Excel

Message par grisan29 le Sam 10 Sep - 19:22

bonsoir Danpom302, admindpvb et le forum
dan dans le code proposer par adminpvb essaie juste de remplacer la fin

Code:
Quality:=xlQualityStandard, DisplayFileAfterPublish:=True

et aussi allège ton code en enlevant les .select qui vont alourdir son fonctionnement


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1843
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Publipostage Excel vers Excel

Message par AdminPVB le Sam 10 Sep - 21:25

Bonjour,
Ce que je remarque sur ton code:
c'est qu'il manque un end with avant Loop
Pour le code que je t'ai proposé suis les conseils de Grisan29.
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: Publipostage Excel vers Excel

Message par grisan29 le Sam 10 Sep - 22:26

bonsoir admindpvb
de plus je rajouterais qu'il manque la Sheets("Déneigement publipostage") dans le classeur envoyer


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Publipostage Excel vers Excel

Message par danpom302 le Dim 11 Sep - 4:15

Bonsoir Grisan29 et adminPVB,

Merci pour vos réponses. Je vérifie le tout demain.

Bonne nuit,

Dan

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 368
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Publipostage Excel vers Excel

Message par danpom302 le Dim 11 Sep - 15:58

Bonjour Grisan29 et adminPVB,

Premièrement, le code suivant ne fonctionne pas. Il bloque.

Code:
Sub exportPDF()
Dim nom As String
nom = "test"
Worksheets("EssaiPubl1").ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Utilisateur\Documents\VL\Soumission_Contrat\2016\" & nom & ".pdf", Quality:=xlQualityStandard, DisplayFileAfterPublish:=True

End Sub

Par contre, ce code suivant fonctionne pour exécuter une impression multiple de + de 180 soumissions accompagnés d'une feuille de présentation (Avis).
Donc :
1 copie de la feuille Avis
2 copies de la feuille Déneigement publipostage suivi de l'enregistrement de chaque groupe de document en format pdf, et le transfert des données de chaque soumission dans le registre SC.

Voici donc mon code :

Code:
Sub ImprMult1()
'
' Impression mult1ple Macro
'
' Ne pas raffraichir l'écran.
        Application.ScreenUpdating = False
   
' Sélectionner la feuille Déneigement puplipostage, déprotéger la feuille active et afficher les colonnes masquées N à BJ.
        Sheets("Déneigement publipostage").Select
        ActiveSheet.Unprotect "lune666"
        Columns("N:BJ").Select
        Selection.EntireColumn.Hidden = False
       
' Sélectionner la feuille Registre clients. Déprotéger la feuille Active. Copier les cellules B3 à AU1001
        Sheets("Registre clients").Select
        ActiveSheet.Unprotect "lune666"
        Range("B3:AU1001").Select
        Selection.Copy
        Range("A3").Select
   
' Sélectionner la feuille Déneigement puplipostage, la déprotéger et coller les données en P55.
        Sheets("Déneigement publipostage").Select
        ActiveSheet.Unprotect "lune666"
        Range("P55").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
   
' Boucler ce qui suit.
' Copier les données de la plage P55:BJ55 et les coller dans la plage P53:BJ53
    Do
        Range("P55:BJ55").Select
        Selection.Copy
        Range("P53:BJ53").Select
        ActiveSheet.Paste
       
' Préparer le document PDF et l'enregistrer dans son répertoire.
    Dim MonFichier As String
    Dim MonAdresse As String
    Dim mon_pdf As String
   
        mon_pdf = [D10] & " " & [K5]
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & mon_pdf & " .pdf", Quality:=xlQualityStandard
        MonFichier = ActiveWorkbook.Path & "\" & mon_pdf & " .pdf"
       
' Sélectionner la feuille Avis et imprimer 1 copie.
        Sheets("Avis").Select
        ActiveSheet.Unprotect "lune666"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1
       
'Protéger la feuille Avis
        ActiveSheet.Protect "lune666", DrawingObjects:=True, Contents:=True, Scenarios:= _
        True, AllowFormattingCells:=False, AllowSorting:=True, AllowFiltering:=True
        Range("A1").Select
       
' Sélectionner la feuille Déneigement publipostage.
        Sheets("Déneigement publipostage").Select
        ActiveSheet.Unprotect "lune666"
        ActiveWindow.SelectedSheets.PrintOut Copies:=2

' Copier et coller les valeurs des cellules P44:X44 vers P45:X45 puis imprimer le document.
        Sheets("Déneigement publipostage").Select
        Range("P44:X44").Select
        Selection.Copy
        Range("P45:X45").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("A1").Select
   
' Sélectionner la feuille Registre SC.
        Sheets("Registre SC").Select
        ActiveSheet.Unprotect "lune666"

' Déterminer la ligne où exporter les données de la feuille Déneigement publipostage.
    Dim dernière_ligne_vide As Long
        dernière_ligne_vide = Sheets("Registre SC").Range("B65000").End(xlUp).Row

' Exporter les données de la feuille Déneigement publipostage.
    For i = 0 To 8
        Sheets("Registre SC").Unprotect "lune666"
        Sheets("Registre SC").Cells(dernière_ligne_vide + 1, 2 + i).Value = Sheets("Déneigement publipostage").Cells(45, 16 + i).Value

    Next

' Trier les données par client en ordre croissant
        Sheets("Registre SC").Sort.SortFields.Clear
        Sheets("Registre SC").Sort.SortFields.Add Key:=Range( _
        "C4:C1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal

    With Sheets("Registre SC").Sort
        .SetRange Range("A4:J1000")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
        Range("A4").Select
       
' Sélectionner la feuille Déneigement publipostage et la plage P55 à BJ55 puis supprimer vers le haut.
        Sheets("Déneigement publipostage").Select
        Range("P55:BJ55").Select
        Application.CutCopyMode = False
        Selection.Delete Shift:=xlUp
        Range("A1").Select
 
' Masquer les colonnes N à BJ.
    End With
        Sheets("Déneigement publipostage").Select
            Columns("N:BJ").Select
        Selection.EntireColumn.Hidden = True

' Boucler jusqu'à ce que la cellule P55 soit vide.
  Loop Until Range("P55").Value = ""

'Protéger la feuille
        ActiveSheet.Protect "lune666", DrawingObjects:=True, Contents:=True, Scenarios:= _
        True, AllowFormattingCells:=False, AllowSorting:=True, AllowFiltering:=True
        Range("A1").Select

' Enregistrer le classeur
        ActiveWorkbook.Save

End Sub


Ce n'est pas un publipostage proprement dit, mais c'est comme si...

Merci pour votre aide,

Dan
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: Publipostage Excel vers Excel

Message par grisan29 le Dim 11 Sep - 18:23

bonjour danpom302
si tu joint un fichier avec la feuille deneigement cela permettrait des essais plus correct de ton code
autrement l'écriture du code issu surement de l'enregistreur serait a revoir comme cet exemple du bas de code avant le "loop"
Code:
 Sheets("Déneigement publipostage").Select
            Columns("N:BJ").Select
        Selection.EntireColumn.Hidden = True
c'est mieux ainsi tu trouve pas

Code:
Sheets("Déneigement publipostage").Columns("N:BJ").EntireColumn.Hidden = True


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!

avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: Publipostage Excel vers Excel

Message par grisan29 le Dim 11 Sep - 18:51

bonjour Danpom302
voici ton code que j'ai essayer de corriger sans l'essayer mais je ne suis pas sur d'avoir tout corriger comme il l faudrait
et j'ai mis en coche les 4 lignes face a "do" car elles ne font références a aucune feuille
 
Code:
Sub ImprMult1()
    '
    ' Impression mult1ple Macro
    '
    ' Ne pas raffraichir l'écran.
            Application.ScreenUpdating = False
       
    ' Sélectionner la feuille Déneigement puplipostage, déprotéger la feuille active et afficher les colonnes masquées N à BJ.
            Sheets("Déneigement publipostage").Columns("N:BJ").EntireColumn.Hidden = False
            ActiveSheet.Unprotect "lune666"
                       
    ' Sélectionner la feuille Registre clients. Déprotéger la feuille Active. Copier les cellules B3 à AU1001
            Sheets("Registre clients").Range("B3:AU1001").Copy
            ActiveSheet.Unprotect "lune666"
                       'Range("A3").Select
       
    ' Sélectionner la feuille Déneigement puplipostage, la déprotéger et coller les données en P55.
            Sheets("Déneigement publipostage").Range("P55").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            ActiveSheet.Unprotect "lune666"
          
    ' Boucler ce qui suit.
    ' Copier les données de la plage P55:BJ55 et les coller dans la plage P53:BJ53
        Do ' de quelle feuille vers quel feuille??
            'Range("P55:BJ55").Select
            'Selection.Copy
            'Range("P53:BJ53").Select
            'ActiveSheet.Paste
           
    ' Préparer le document PDF et l'enregistrer dans son répertoire.
        Dim MonFichier As String
        Dim MonAdresse As String
        Dim mon_pdf As String
       
            mon_pdf = [D10] & " " & [K5]
            ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\" & mon_pdf & " .pdf", Quality:=xlQualityStandard
            MonFichier = ActiveWorkbook.Path & "\" & mon_pdf & " .pdf"
           
    ' Sélectionner la feuille Avis et imprimer 1 copie.
            Sheets("Avis").PrintOut Copies:=1
            ActiveSheet.Unprotect "lune666"
            'ActiveWindow.SelectedSheets
           
    'Protéger la feuille Avis
            ActiveSheet.Protect "lune666", DrawingObjects:=True, Contents:=True, Scenarios:= _
            True, AllowFormattingCells:=False, AllowSorting:=True, AllowFiltering:=True
            Range("A1").Select
           
    ' Sélectionner la feuille Déneigement publipostage.
            Sheets("Déneigement publipostage").PrintOut Copies:=2
            ActiveSheet.Unprotect "lune666"
           ' ActiveWindow.SelectedSheets

    ' Copier et coller les valeurs des cellules P44:X44 vers P45:X45 puis imprimer le document.
   
            Worksheets("Déneigement publipostage").Range("P44:X44").Copy
           ActiveSheet.past Destination:=Worksheets("Déneigement publipostage").Range("P45:X45")
'pas sur de ce que j'ai fait ici
            'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            'Range("A1").Select
          
    ' Sélectionner la feuille Registre SC.
            Sheets("Registre SC").Select
            ActiveSheet.Unprotect "lune666"

    ' Déterminer la ligne où exporter les données de la feuille Déneigement publipostage.
        Dim dernière_ligne_vide As Long
            dernière_ligne_vide = Sheets("Registre SC").Range("B65000").End(xlUp).Row

    ' Exporter les données de la feuille Déneigement publipostage.
        For i = 0 To 8
            Sheets("Registre SC").Unprotect "lune666"
            Sheets("Registre SC").Cells(dernière_ligne_vide + 1, 2 + i).Value = Sheets("Déneigement publipostage").Cells(45, 16 + i).Value

        Next

    ' Trier les données par client en ordre croissant
    With Sheets("Registre SC")
            .Sort.SortFields.Clear
            .Sort.SortFields.Add Key:=Range( _
            "C4:C1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
            xlSortNormal
            .Sort
            .SetRange Range("A4:J1000")
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
            .Range("A4").Select
          End With
    ' Sélectionner la feuille Déneigement publipostage et la plage P55 à BJ55 puis supprimer vers le haut.
       With Sheets("Déneigement publipostage")
            .Range("P55:BJ55").Delete Shift:=xlUp
            Application.CutCopyMode = False
           
           ' Range("A1").Select
      
    ' Masquer les colonnes N à BJ.
        End With
            Sheets("Déneigement publipostage").Columns("N:BJ").EntireColumn.Hidden = True

    ' Boucler jusqu'à ce que la cellule P55 soit vide.
       Loop Until Range("P55").Value = ""

    'Protéger la feuille
            ActiveSheet.Protect "lune666", DrawingObjects:=True, Contents:=True, Scenarios:= _
            True, AllowFormattingCells:=False, AllowSorting:=True, AllowFiltering:=True
            Range("A1").Select
        'réactive le raffraichisement d'écran
    Application.ScreenUpdating = True
    ' Enregistrer le classeur
            ActiveWorkbook.Save

    End Sub


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en résolu.
 
Dans votre message d'origine

cliquer sur le bouton



Ensuite tout en bas sur 
Modifier le titre du sujet 
cliquer sur le bouton 

Résolu !!!


Contenu sponsorisé

Résolu Re: Publipostage Excel vers Excel

Message par Contenu sponsorisé


    La date/heure actuelle est Mer 20 Sep - 16:41