Code VBA à valider
Fermé
ThalieMTL
Messages postés
3
Date d'inscription
jeudi 30 janvier 2014
Statut
Membre
Dernière intervention
31 janvier 2014
-
30 janv. 2014 à 01:46
ThalieMTL Messages postés 3 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 31 janvier 2014 - 31 janv. 2014 à 23:55
ThalieMTL Messages postés 3 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 31 janvier 2014 - 31 janv. 2014 à 23:55
A voir également:
- Code VBA à valider
- Ethernet n'a pas de configuration ip valide - Guide
- Code ascii de a à z - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
2 réponses
Bonjour,
En fin de code pourquoi reviens-tu en cellule A1.
Comme avant de sortir de l'onglet tu devais être positionné sur la bonne cellule, quand tu y reviens tu fais simplement ton offset pour te positionner sur la celule suivante
Yann
En fin de code pourquoi reviens-tu en cellule A1.
Comme avant de sortir de l'onglet tu devais être positionné sur la bonne cellule, quand tu y reviens tu fais simplement ton offset pour te positionner sur la celule suivante
Yann
ThalieMTL
Messages postés
3
Date d'inscription
jeudi 30 janvier 2014
Statut
Membre
Dernière intervention
31 janvier 2014
31 janv. 2014 à 23:55
31 janv. 2014 à 23:55
Mise à jour - vendredi 31 janvier
J'ai essayé différentes choses avec plus ou moins de succés alors voilà où j'en suis.
Récapitulatif des besoins:
J'ai un Excel qui est un relevé de compte (onglet Relevé). Dans un autre onglet (Fonds dotés), j'ai la liste des comptes pour lesquels je dois faire le relevé.
Le processus normal devrait être:
Je copie la première valeur dans l'onglet Fonds dotés
Je la colle dans une cellule (toujours la même, F2) de Relevé
J'exporte l'onglet Relevé en pdf avec le nom = numéro copié et collé à l'étape précédente depuis la cellule de Fonds dotés
Je reviens dans l'onglet Fonds dotés et je copie la cellule suivante (en dessous) pour générer le nouveau relevé.
Je dois aussi imprimer physiquement le relevé ce que j'ai réussi en partie à faire dans la macro suivante mais sans la boucle qui ne marche jamais.
J'ai donc créé un bouton de la macro Imprime ci-dessous prés de ma liste des Fonds et j'ai cliqué 237 fois dessus!! Ridicule ;-)
Donc voici mes questions:
- comment ajouter une boucle à la macro Imprime pour qu'elle imprime tout et s'arrête quand il n'y a plus de valeur dans la colonne de l'onglet Fonds dotés?
- comment ajouter une commande d'enregistrement ou export en PDF (cela peut être une macro séparée de Imprime)? Il semble que quand j'essaie, il bloque au moment d'affecter le nom du fichier donc n'enregistre jamais ou uniquement le premier fichier)
Sub Imprime()
'
' Imprime Macro
'
' Touche de raccourci du clavier: Ctrl+i
'
Selection.Copy
Sheets("Relevé").Select
ActiveSheet.Paste
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Fonds dotés").Select
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
J'ai essayé cette Macro ImprimePDF mais l'enregistrement du nom de fichier ne marche pas et je ne suis pas sûre si on peut imbriquer une Sub dans une Sub ;-) Bref, pas brillante celle là mais peut être qu'elle peut être corrigée?
Sub ImprimePDF()
'
' ImprimePDF Macro
'
' Touche de raccourci du clavier: Ctrl+m
'
Do Until IsEmpty(ActiveCell)
Selection.Copy
Application.CutCopyMode = False
Selection.Copy
Sheets("Relevé").Select
ActiveSheet.Paste
Sub FileNameAsCellContent()
Dim FileName As String
Dim Path As String
Application.DisplayAlerts = False
Path = "K:\Temporaire Valérie - NE PAS SUPPRIMER SVP\Comptabilité\Relevés de compte - ancienne méthode\2013 relevés" 'Change the directory path here where you want to save the file
FileName = Range("A1").Value & ".pdf" 'Change extension here
ActiveWorkbook.SaveAs Path & FileName, xlTypePDF 'Change the format here which matches with the extention above. Choose from the following link https://docs.microsoft.com/en-us/office/vba/api/Excel.XlFileFormat
Application.DisplayAlerts = True
ActiveWorkbook.Close
End Sub
Sheets("Fonds dotés").Select
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
End Sub
Merci à ceux qui voudront bien me donner quelques tuyaux et bon WE à tous!
Valérie
J'ai essayé différentes choses avec plus ou moins de succés alors voilà où j'en suis.
Récapitulatif des besoins:
J'ai un Excel qui est un relevé de compte (onglet Relevé). Dans un autre onglet (Fonds dotés), j'ai la liste des comptes pour lesquels je dois faire le relevé.
Le processus normal devrait être:
Je copie la première valeur dans l'onglet Fonds dotés
Je la colle dans une cellule (toujours la même, F2) de Relevé
J'exporte l'onglet Relevé en pdf avec le nom = numéro copié et collé à l'étape précédente depuis la cellule de Fonds dotés
Je reviens dans l'onglet Fonds dotés et je copie la cellule suivante (en dessous) pour générer le nouveau relevé.
Je dois aussi imprimer physiquement le relevé ce que j'ai réussi en partie à faire dans la macro suivante mais sans la boucle qui ne marche jamais.
J'ai donc créé un bouton de la macro Imprime ci-dessous prés de ma liste des Fonds et j'ai cliqué 237 fois dessus!! Ridicule ;-)
Donc voici mes questions:
- comment ajouter une boucle à la macro Imprime pour qu'elle imprime tout et s'arrête quand il n'y a plus de valeur dans la colonne de l'onglet Fonds dotés?
- comment ajouter une commande d'enregistrement ou export en PDF (cela peut être une macro séparée de Imprime)? Il semble que quand j'essaie, il bloque au moment d'affecter le nom du fichier donc n'enregistre jamais ou uniquement le premier fichier)
Sub Imprime()
'
' Imprime Macro
'
' Touche de raccourci du clavier: Ctrl+i
'
Selection.Copy
Sheets("Relevé").Select
ActiveSheet.Paste
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Fonds dotés").Select
ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
J'ai essayé cette Macro ImprimePDF mais l'enregistrement du nom de fichier ne marche pas et je ne suis pas sûre si on peut imbriquer une Sub dans une Sub ;-) Bref, pas brillante celle là mais peut être qu'elle peut être corrigée?
Sub ImprimePDF()
'
' ImprimePDF Macro
'
' Touche de raccourci du clavier: Ctrl+m
'
Do Until IsEmpty(ActiveCell)
Selection.Copy
Application.CutCopyMode = False
Selection.Copy
Sheets("Relevé").Select
ActiveSheet.Paste
Sub FileNameAsCellContent()
Dim FileName As String
Dim Path As String
Application.DisplayAlerts = False
Path = "K:\Temporaire Valérie - NE PAS SUPPRIMER SVP\Comptabilité\Relevés de compte - ancienne méthode\2013 relevés" 'Change the directory path here where you want to save the file
FileName = Range("A1").Value & ".pdf" 'Change extension here
ActiveWorkbook.SaveAs Path & FileName, xlTypePDF 'Change the format here which matches with the extention above. Choose from the following link https://docs.microsoft.com/en-us/office/vba/api/Excel.XlFileFormat
Application.DisplayAlerts = True
ActiveWorkbook.Close
End Sub
Sheets("Fonds dotés").Select
ActiveCell.Offset(1, 0).Range("A1").Select
Loop
End Sub
Merci à ceux qui voudront bien me donner quelques tuyaux et bon WE à tous!
Valérie
30 janv. 2014 à 21:05
Quand j'enlève les lignes suivantes
Sheets("Fonds dotés").Select
Range("A1").Select
La sélection descend d'une ligne mais à l'endroit ou on a collé la valeur, pas à l'endroit où il devrait copier la suivante pour reprendre la boucle...
Le processus normal devrait être:
Je copie une valeur dans l'onglet Fonds dotés
Je la colle dans une cellule (toujours la même) de Relevé
J'exporte l'onglet Relevé en pdf avec le nom = numéro copié dans la cellule de Fonds dotés
Je reviens dans l'onglet Fonds doté et je copie la cellule suivante (en dessous) pour générer le nouveau relevé
Il ne doit pas manquer grand chose à mon code n'est ce pas?
Merci de votre aide!