flyingmuad
XLDnaute Nouveau
Bonjour,
Un petit coup de pouce SVP.
J'ai des macros qui tournent sous EXCEL Pro Plus 2016 sur plusieurs PC sans problème, mais sur un, même configuration, l'une d'elle bloque.
Son but :
Je pars d'un nouveau classeur dont je choisis le nom et le répertoire de sauvegarde
J'ouvre un fichier modèle que je nettoies au cas où, qui me sert à documenter un userform
Dans l'UF je choisis les différents chapitres et sous chapitres que je souhaite voir dans mon devis
Une fois validé, je reporte le détail des chapitres choisis dans une zone préformatée du classeur modèle
Je copie l'ensemble de la zone sur le nouveau classeur
Je ferme sans le sauvegarder le classeur modèle
je sauvegarde sous le nom choisi le nouveau classeur
D'autres macro viennent ensuite mettre en forme le devis définitif.
J'ai essayé beaucoup de chose sans succès.
Pas à pas avec F8 elle fonctionne partout; mais quand on la lance (raccourci clavier, éditeur VBA ou bouton dans menu) elle coince sur un PC.
Aux dires du service informatique ce PC est configuré de la même manière que les autres. Je n'ai pas les compétences pour vérifier.
J'ai identifié dans le code l'endroit ou elle bloque (j'ai laissé en commentaire les différents essais ou modifications). Les lignes sans numéro sont les modifications apportées.
NB cette macro telle qu'elle est ci dessous fonctionne sur tous les PC sauf un.
Le blocage est à la ligne 250 instruction SET (ou dans toute les modifications sur cette même instruction SET), le déroulement de la macro s'interrompt, elle n'est pas arrêtée (pas d'erreur, le curseur reste normal). Le fichier modèle est bien ouvert mais l'UF n'est pas affiché. En cliquant n'importe ou dans le fichier modèle la macro s'arrete sans erreur et je peux reprendre la main (éventuellement la relancer).
Je n'est pas eu de problème avec les instructions SET des lignes 230 et 240
Tout éclairage sera le bienvenu et merci d'avance
Patrice
Sub creation_dpgf()
Dim chemin, I, rep_sauve, ChoixDossier
Dim nom_dpgf, xa, xb, ligne, fich_nom, tampon
Dim but As Workbook
Dim source As Workbook, wb As Workbook
Dim feuille_dpgf As Worksheet
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
10 Application.DisplayAlerts = False
'GoTo zap
' ------------------------- paramétrage acces répertoire
20 chemin = chemin_source
30 rep_sauve = "\\192.168.1.252\Partage\01 - Fichiers Clients\"
40 If chemin_source = "C:\LOCAL\" Then rep_sauve = "C:\"
' ---------------------------------------- création du nom du DPGF
re_saisie:
50 nom_dpgf = InputBox("Merci de donner un nom au DPGF" & VBA.Chr(10) & " Puis de choisir le répertoire de sauvegarde", "NOM DU PROJET")
60 If nom_dpgf = "" Then Exit Sub
70 With Application.FileDialog(msoFileDialogFolderPicker)
80 .InitialFileName = rep_sauve
90 .Show
100 If .SelectedItems.Count > 0 Then
110 ChoixDossier = .SelectedItems(1) & "\"
120 Else
130 ChoixDossier = ""
140 Exit Sub
150 End If
160 End With
zap:
170 xa = VBA.Len(ChoixDossier) + VBA.Len(nom_dpgf)
180 If xa > 218 Then
190 xb = MsgBox("Ce nom est trop long, merci de la réduire de " & 218 - xa & "caractère(s)", vbOKOnly, "ATTENTION")
200 GoTo re_saisie
210 End If
220 ActiveSheet.Name = nom_dpgf
230 Set but = ActiveWorkbook ' ChoixDossier & nom_dpgf & ".xlsx"
240 Set feuille_dpgf = but.ActiveSheet 'but.Worksheets(nom_dpgf)
Workbooks.Open Filename:=chemin & "modele.xlsx"
' Workbooks(chemin & "modele.xlsx").Activate
Set source = ActiveWorkbook
250 ' Set source = Workbooks.Open(chemin & "modele.xlsx") 'ThisWorkbook ' chemin & "modele.xlsx"
260 Columns("W:W").ClearContents
270 Cells(10, 22) = 0
280 Cells(14, 22) = 0
290 Cells(24, 22) = 0
300 Cells(29, 22) = 0
310 Cells(32, 22) = 0
320 Cells(38, 22) = 0
330 Cells(42, 22) = 0
340 Cells(47, 22) = 0
350 Cells(48, 22) = 0
360 Cells(49, 22) = 0
370 Cells(3, 3) = nom_dpgf
380 creat_dpgf.Show ' --------------------------------------------> choix des titres
390 source.Sheets("modele-s").Columns("A:N").Copy
400 but.Activate
440 Range("BF1").Value = "Scratch0"
450 source.Close (False)
Un petit coup de pouce SVP.
J'ai des macros qui tournent sous EXCEL Pro Plus 2016 sur plusieurs PC sans problème, mais sur un, même configuration, l'une d'elle bloque.
Son but :
Je pars d'un nouveau classeur dont je choisis le nom et le répertoire de sauvegarde
J'ouvre un fichier modèle que je nettoies au cas où, qui me sert à documenter un userform
Dans l'UF je choisis les différents chapitres et sous chapitres que je souhaite voir dans mon devis
Une fois validé, je reporte le détail des chapitres choisis dans une zone préformatée du classeur modèle
Je copie l'ensemble de la zone sur le nouveau classeur
Je ferme sans le sauvegarder le classeur modèle
je sauvegarde sous le nom choisi le nouveau classeur
D'autres macro viennent ensuite mettre en forme le devis définitif.
J'ai essayé beaucoup de chose sans succès.
Pas à pas avec F8 elle fonctionne partout; mais quand on la lance (raccourci clavier, éditeur VBA ou bouton dans menu) elle coince sur un PC.
Aux dires du service informatique ce PC est configuré de la même manière que les autres. Je n'ai pas les compétences pour vérifier.
J'ai identifié dans le code l'endroit ou elle bloque (j'ai laissé en commentaire les différents essais ou modifications). Les lignes sans numéro sont les modifications apportées.
NB cette macro telle qu'elle est ci dessous fonctionne sur tous les PC sauf un.
Le blocage est à la ligne 250 instruction SET (ou dans toute les modifications sur cette même instruction SET), le déroulement de la macro s'interrompt, elle n'est pas arrêtée (pas d'erreur, le curseur reste normal). Le fichier modèle est bien ouvert mais l'UF n'est pas affiché. En cliquant n'importe ou dans le fichier modèle la macro s'arrete sans erreur et je peux reprendre la main (éventuellement la relancer).
Je n'est pas eu de problème avec les instructions SET des lignes 230 et 240
Tout éclairage sera le bienvenu et merci d'avance
Patrice
Sub creation_dpgf()
Dim chemin, I, rep_sauve, ChoixDossier
Dim nom_dpgf, xa, xb, ligne, fich_nom, tampon
Dim but As Workbook
Dim source As Workbook, wb As Workbook
Dim feuille_dpgf As Worksheet
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
10 Application.DisplayAlerts = False
'GoTo zap
' ------------------------- paramétrage acces répertoire
20 chemin = chemin_source
30 rep_sauve = "\\192.168.1.252\Partage\01 - Fichiers Clients\"
40 If chemin_source = "C:\LOCAL\" Then rep_sauve = "C:\"
' ---------------------------------------- création du nom du DPGF
re_saisie:
50 nom_dpgf = InputBox("Merci de donner un nom au DPGF" & VBA.Chr(10) & " Puis de choisir le répertoire de sauvegarde", "NOM DU PROJET")
60 If nom_dpgf = "" Then Exit Sub
70 With Application.FileDialog(msoFileDialogFolderPicker)
80 .InitialFileName = rep_sauve
90 .Show
100 If .SelectedItems.Count > 0 Then
110 ChoixDossier = .SelectedItems(1) & "\"
120 Else
130 ChoixDossier = ""
140 Exit Sub
150 End If
160 End With
zap:
170 xa = VBA.Len(ChoixDossier) + VBA.Len(nom_dpgf)
180 If xa > 218 Then
190 xb = MsgBox("Ce nom est trop long, merci de la réduire de " & 218 - xa & "caractère(s)", vbOKOnly, "ATTENTION")
200 GoTo re_saisie
210 End If
220 ActiveSheet.Name = nom_dpgf
230 Set but = ActiveWorkbook ' ChoixDossier & nom_dpgf & ".xlsx"
240 Set feuille_dpgf = but.ActiveSheet 'but.Worksheets(nom_dpgf)
Workbooks.Open Filename:=chemin & "modele.xlsx"
' Workbooks(chemin & "modele.xlsx").Activate
Set source = ActiveWorkbook
250 ' Set source = Workbooks.Open(chemin & "modele.xlsx") 'ThisWorkbook ' chemin & "modele.xlsx"
260 Columns("W:W").ClearContents
270 Cells(10, 22) = 0
280 Cells(14, 22) = 0
290 Cells(24, 22) = 0
300 Cells(29, 22) = 0
310 Cells(32, 22) = 0
320 Cells(38, 22) = 0
330 Cells(42, 22) = 0
340 Cells(47, 22) = 0
350 Cells(48, 22) = 0
360 Cells(49, 22) = 0
370 Cells(3, 3) = nom_dpgf
380 creat_dpgf.Show ' --------------------------------------------> choix des titres
390 source.Sheets("modele-s").Columns("A:N").Copy
400 but.Activate
440 Range("BF1").Value = "Scratch0"
450 source.Close (False)