OVH Cloud OVH Cloud

affectation de valeur

13 réponses
Avatar
Claire
Bonjour à tous,
je vbiens de reprendre mon boulot et là patatra un problème sur un truc qui
marchait avant que je m'en aillle!
alors voilà:

'Incrémentation du numéro
a = Workbooks("Charge_V1").Worksheets("projets").Cells(1, 2).Value
Workbooks("projet_MODELE").Worksheets("Fiche Projet").Cells(2, 5).Value = a
+ 1

j'ai un problème sur la seconde ligne avec une erreur d'exécution 9:
"l'indice n'appartient pas à la sélection".
En fait le programme prend cette valeur qui est la valeur maximale d'une
colonne et ajoute un pour numéroter un fichier suivant. ca marchait mais là
non!! Serait-ce car c'est un formule et non une valeur??
Comment puis-je faire??
Merci d'avance

10 réponses

1 2
Avatar
AV
j'ai un problème sur la seconde ligne avec une erreur d'exécution 9:
"l'indice n'appartient pas à la sélection".


Vérifie l'existence et l'orthographe exacte des noms de fichiers et feuilles

AV

Avatar
Claire
Bonjour AV Et merci d'avoir répondu,

J'ai vérifié l'existance et l'orthographe normalement je n'ai pas d'erreur
j'ai mis un espion sur a et rien ne se passe. C'est étrange je me rend compte
que j'ai de nombreux petits bogue dans mes programmes alors que je n'y ai pas
touché depuis 1 mois et que tous fonctionnait très bien??? Les problème
interviennent sur des actions assez simples en plus::

Private Sub CommandButton1_Click()

ICI >>>>> If
Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value < 10 Then
ActiveWorkbook.SaveAs Filename:="pars0001SapOngoing
Live90-projets 'évolution applicative'Projet Bases ACCES50-Expression de
besoinbase plan de chargeprojet_000" & numéro_projet.Value + 1 & ".xls"
ElseIf Range("numéro_projet").Value < 100 Then
ActiveWorkbook.SaveAs Filename:="pars0001SapOngoing
Live90-projets 'évolution applicative'Projet Bases ACCES50-Expression de
besoinbase plan de chargeprojet_00" & numéro_projet.Value + 1 & ".xls"
ElseIf Range("numéro_projet").Value < 1000 Then
ActiveWorkbook.SaveAs Filename:="pars0001SapOngoing
Live90-projets 'évolution applicative'Projet Bases ACCES50-Expression de
besoinbase plan de chargeprojet_0" & numéro_projet.Value + 1 & ".xls"
End If

ici c'est le même endroit que je désigne et il ne le reconnait pas!

Ici >>>>>Workbooks("Charge_V1").Save

Et dans encore un autre ceci
Workbooks("Charge_V1").Worksheets("BDB").Range("A2:P1000").Clear

je ne comprends pas du tout.
Si ce n'est pas l'orthograaphe où l'existance qu'est-ce que cela pourrait il
être??
Merci encore d'avance


"AV" wrote:

j'ai un problème sur la seconde ligne avec une erreur d'exécution 9:
"l'indice n'appartient pas à la sélection".


Vérifie l'existence et l'orthographe exacte des noms de fichiers et feuilles

AV






Avatar
michdenis
Bonjour Claire,

La structure syntaxique avec laquelle tu as écrite ta macro aurait besoin de certaines mises au point :

A ) Au moment d'exécuter ta macro, si tu sais que tu as plus d'un classeur ouvert, l'utilisation "ActiveWorkbook" dans du code est
très dangereux car es-tu réellement sûre que ce sera le bon classeur qui sera actif à chaque fois que tu lanceras ta macro... si ce
n'est pas le cas, ta macro va planter parce que les objets (l'existence des objets de même que leur nom) de "Activeworkbook" ne
concorde pas avec ceux décrites dans la macro. Pour éviter de se faire prendre au jeu, il faut faire une référence complète dans sa
syntaxe au classeur spécifique sur lequel l'action doit avoir lieu. Pour ce faire, tu peux utiliser ce type de syntaxe longue :
Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value , ou, utiliser cette technique pour faire référence aux objets :

With Workbooks("Charge_V1")
a = .Worksheets("projets").Range("B1").Value
'Toutes les actions sur les objets faisant référence à ce classeur.
End with

B ) Toujours en faisant référence de "A", pourquoi les condition 2 et 3, tu n'utilises pas une référence complète comme tu le fais
pour la condition 1. Je fais référence à ceci :
ElseIf Range("numéro_projet").Value < 100 Then

Est-ce que la cellule nommée : "numéro_projet") est la même que B1 dans la condition1. Est-ce que c'est 2 cellules appartiennent
à la même feuille ? au même classeur ?

Si à la lecture de ton code, on parvient difficilement à situer les objets ... comment penses-tu qu'excel fait pour résoudre ces
dilemmes ? Il t'affiche des messages d'erreur te disant : "une erreur d'exécution 9: "l'indice n'appartient pas à la sélection".

C ) Ton code faire référence à ceci : numéro_projet.Value
Quel type d'objet représente : "numéro_projet"

D ) L'utilisation de Variables peut rendre le code plus accessible :

Dim Chemin as String
Chemin = "pars0001SapOngoing Live90-projets" & _
" 'évolution applicative'" & _
"Projet Bases ACCES50-Expression de besoin" & _
"base plan de chargeprojet_"

Tu remplaces dans ton code la section équivalente par la variable.

E ) L'indentation du code améliore aussi de beaucoup la lecture et la compréhension du code.

if conditon Then
solution

elseif condition1 then
solution1

elseif condition2 then
solution2
End if

Je n'ai pas joint de solution de rechange au code, car tel qu'il est écrit, il est très difficile de savoir quel est l'objet visé
par le code pour l'exécution de certaines actions.



Salutations!





ICI >>>>> If
Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value < 10 Then
ActiveWorkbook.SaveAs Filename:="pars0001SapOngoing
Live90-projets 'évolution applicative'Projet Bases ACCES50-Expression de
besoinbase plan de chargeprojet_000" & numéro_projet.Value + 1 & ".xls"
ElseIf Range("numéro_projet").Value < 100 Then
ActiveWorkbook.SaveAs Filename:="pars0001SapOngoing
Live90-projets 'évolution applicative'Projet Bases ACCES50-Expression de
besoinbase plan de chargeprojet_00" & numéro_projet.Value + 1 & ".xls"
ElseIf Range("numéro_projet").Value < 1000 Then
ActiveWorkbook.SaveAs Filename:="pars0001SapOngoing
Live90-projets 'évolution applicative'Projet Bases ACCES50-Expression de
besoinbase plan de chargeprojet_0" & numéro_projet.Value + 1 & ".xls"
End If

ici c'est le même endroit que je désigne et il ne le reconnait pas!

Ici >>>>>Workbooks("Charge_V1").Save

Et dans encore un autre ceci
Workbooks("Charge_V1").Worksheets("BDB").Range("A2:P1000").Clear

je ne comprends pas du tout.
Si ce n'est pas l'orthograaphe où l'existance qu'est-ce que cela pourrait il
être??
Merci encore d'avance


"AV" wrote:

j'ai un problème sur la seconde ligne avec une erreur d'exécution 9:
"l'indice n'appartient pas à la sélection".


Vérifie l'existence et l'orthographe exacte des noms de fichiers et feuilles

AV






Avatar
Claire
Merci Michdenis d'avoir répondu de manière aussi détaillée. J'ai fait les
modifications dont vous m'avez parlez mais j'ai toujours les mêmes problèmes!
La Cellule "numéro_projet" est la même que B1 elles sont donc sur la même
feuille. A ce champ correspond une formule: =MAX(B3:B999).
Pouvez vous encore m'aider?
Merci beaucoup de votre aide.
Avatar
Claire
Au fait escusez moi pour le message en plus pour "problème de bogues/ réseau"
mais serais-ce possible que toutes ces erreurs soient dues au changement de
PC??? J'en doute mais comme on m'en a parlé...
merci d'avance


Bonjour Claire,

La structure syntaxique avec laquelle tu as écrite ta macro aurait besoin de certaines mises au point :

A ) Au moment d'exécuter ta macro, si tu sais que tu as plus d'un classeur ouvert, l'utilisation "ActiveWorkbook" dans du code est
très dangereux car es-tu réellement sûre que ce sera le bon classeur qui sera actif à chaque fois que tu lanceras ta macro... si ce
n'est pas le cas, ta macro va planter parce que les objets (l'existence des objets de même que leur nom) de "Activeworkbook" ne
concorde pas avec ceux décrites dans la macro. Pour éviter de se faire prendre au jeu, il faut faire une référence complète dans sa
syntaxe au classeur spécifique sur lequel l'action doit avoir lieu. Pour ce faire, tu peux utiliser ce type de syntaxe longue :
Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value , ou, utiliser cette technique pour faire référence aux objets :

With Workbooks("Charge_V1")
a = .Worksheets("projets").Range("B1").Value
'Toutes les actions sur les objets faisant référence à ce classeur.
End with

B ) Toujours en faisant référence de "A", pourquoi les condition 2 et 3, tu n'utilises pas une référence complète comme tu le fais
pour la condition 1. Je fais référence à ceci :
ElseIf Range("numéro_projet").Value < 100 Then

Est-ce que la cellule nommée : "numéro_projet") est la même que B1 dans la condition1. Est-ce que c'est 2 cellules appartiennent
à la même feuille ? au même classeur ?

Si à la lecture de ton code, on parvient difficilement à situer les objets ... comment penses-tu qu'excel fait pour résoudre ces
dilemmes ? Il t'affiche des messages d'erreur te disant : "une erreur d'exécution 9: "l'indice n'appartient pas à la sélection".

C ) Ton code faire référence à ceci : numéro_projet.Value
Quel type d'objet représente : "numéro_projet"

D ) L'utilisation de Variables peut rendre le code plus accessible :

Dim Chemin as String
Chemin = "pars0001SapOngoing Live90-projets" & _
" 'évolution applicative'" & _
"Projet Bases ACCES50-Expression de besoin" & _
"base plan de chargeprojet_"

Tu remplaces dans ton code la section équivalente par la variable.

E ) L'indentation du code améliore aussi de beaucoup la lecture et la compréhension du code.

if conditon Then
solution

elseif condition1 then
solution1

elseif condition2 then
solution2
End if

Je n'ai pas joint de solution de rechange au code, car tel qu'il est écrit, il est très difficile de savoir quel est l'objet visé
par le code pour l'exécution de certaines actions.



Salutations!





ICI >>>>> If
Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value < 10 Then
ActiveWorkbook.SaveAs Filename:="pars0001SapOngoing
Live90-projets 'évolution applicative'Projet Bases ACCES50-Expression de
besoinbase plan de chargeprojet_000" & numéro_projet.Value + 1 & ".xls"
ElseIf Range("numéro_projet").Value < 100 Then
ActiveWorkbook.SaveAs Filename:="pars0001SapOngoing
Live90-projets 'évolution applicative'Projet Bases ACCES50-Expression de
besoinbase plan de chargeprojet_00" & numéro_projet.Value + 1 & ".xls"
ElseIf Range("numéro_projet").Value < 1000 Then
ActiveWorkbook.SaveAs Filename:="pars0001SapOngoing
Live90-projets 'évolution applicative'Projet Bases ACCES50-Expression de
besoinbase plan de chargeprojet_0" & numéro_projet.Value + 1 & ".xls"
End If

ici c'est le même endroit que je désigne et il ne le reconnait pas!

Ici >>>>>Workbooks("Charge_V1").Save

Et dans encore un autre ceci
Workbooks("Charge_V1").Worksheets("BDB").Range("A2:P1000").Clear

je ne comprends pas du tout.
Si ce n'est pas l'orthograaphe où l'existance qu'est-ce que cela pourrait il
être??
Merci encore d'avance


"AV" wrote:

j'ai un problème sur la seconde ligne avec une erreur d'exécution 9:
"l'indice n'appartient pas à la sélection".


Vérifie l'existence et l'orthographe exacte des noms de fichiers et feuilles

AV











Avatar
michdenis
Bonjour Claire,

| J'ai fait les modifications dont vous m'avez parlez

Et bien, pubier votre nouvelle macro, car avec l'ancienne pour les raisons évoquées, je suis incapable de la réécrire de façon
convenable tout en étant sûr que je fais les bonnes références aux bons objets.

Le fait de changer de PC ne change rien sauf si le fichier recherché a été déplacé sur le réseau.


Salutations!



"Claire" a écrit dans le message de news:
Merci Michdenis d'avoir répondu de manière aussi détaillée. J'ai fait les
modifications dont vous m'avez parlez mais j'ai toujours les mêmes problèmes!
La Cellule "numéro_projet" est la même que B1 elles sont donc sur la même
feuille. A ce champ correspond une formule: =MAX(B3:B999).
Pouvez vous encore m'aider?
Merci beaucoup de votre aide.
Avatar
Claire
Je vous donne dons les programmes qui posent problème et que j'ai essayé de
modifié comme vous m'aviez dit:

Private Sub CommandButton1_Click()
Dim a
'Remplissage de la fiche projet avec les données du formulaire
Range("P2:AB2").Value = TextBox1.Text
Range("E3").Value = TextBox2.Text
Range("E6").Value = TextBox3.Text
Range("E4").Value = ComboBox1.Text
Range("E5").Value = ComboBox2.Text
Range("P4:U4").Value = ComboBox3.Text
Range("P3:U3").Value = ComboBox4.Text

'Incrémentation du numéro
a = Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value
<<<<<<<<<<<<<<<<<< Ici
Workbooks("projet_MODELE").Worksheets("Fiche Projet").Range("E5").Value = a
+ 1

'Mise à jour des mois
Range("E6").Select
Selection.Copy
Range("F8:I8").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("F8:BE8"), Type:=xlFillDefault
Range("F8:BE8").Select
Range("F9").Select

UserForm2.Hide
End Sub
----------------------------------
Private Sub CommandButton1_Click()
Dim Chemin As String
Chemin = "pars0001SapOngoing Live90-projets 'évolution
applicative'Projet Bases ACCES50-Expression de besoinbase plan de
chargeprojet_"

If Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value < 10
Then <<<<<<<<<<<<<<<<<<<<<<<<ICI
Workbooks("projet_MODELE").SaveAs Filename:=Chemin & "000" &
numéro_projet.Value + 1 & ".xls"
ElseIf Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value <
100 Then
Workbooks("projet_MODELE").SaveAs Filename:=Chemin & "00" &
numéro_projet.Value + 1 & ".xls"
ElseIf Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value <
1000 Then
Workbooks("projet_MODELE").SaveAs Filename:=Chemin & "0" &
numéro_projet.Value + 1 & ".xls"
End If

m = 3
Workbooks("projet_MODELE").Worksheets("fiche projet").Cells(2, 6).Copy
Destination:=Workbooks("charge_V1").Worksheets("projets").Range("B" & m)
Workbooks("projet_MODELE").Worksheets("fiche projet").Cells(2, 16).Copy
Destination:=Workbooks("charge_V1").Worksheets("projets").Range("C" & m)
m = m + 1

Workbooks("projet_MODELE").Close
Worksheets("Menu").Select
End Sub
----------------------------------------------
Private Sub CommandButton3_Click()
Workbooks("Charge_V1").Save <<<<<<<<<<<<<<<<ICI
Workbooks("Charge_V1").Close
End Sub
----------------------------------------------
Private Sub CommandButton2_Click()
Dim i
'Nb de projets
Dim line
'Nb de personne
Dim k
'nb de mois
p = 2
Workbooks("Charge_V1").Worksheets("BDB").Range("A2:P1000").Clear
<<<<<<<<<<<<<<<<<<<<ICI

For Each i In Worksheets("projets").Range("nom_projet").Value
If i <> "" Then
Workbooks.Open ("pars0001SapOngoing Live90-projets
'évolution applicative'Projet Bases ACCES50-Expression de besoinbase plan
de charge" & i & ".xls")
Workbooks(i).Activate
line = 28
While Not Worksheets("Fiche Projet").Range("E" & line).Value
= ""
For k = 0 To 12
If Not IsEmpty(Worksheets("fiche
projet").Cells(line, 6 + 4 * k)) Then
Worksheets("fiche projet").Cells(line, 6 + 4 *
k).Copy

Workbooks("charge_V1").Worksheets("BDB").Range("D" & p).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
Worksheets("fiche projet").Cells(2, 5).Copy

Workbooks("charge_V1").Worksheets("BDB").Range("A" & p).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
Worksheets("fiche projet").Cells(line, 5).Copy

Workbooks("charge_V1").Worksheets("BDB").Range("B" & p).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
Worksheets("fiche projet").Cells(8, 6 + 4 *
k).Copy

Workbooks("charge_V1").Worksheets("BDB").Range("C" & p).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
p = p + 1
End If
Next k
line = line + 1
Wend
Workbooks(i).Close
'Next line
Else: Exit For

End If
Next i

End Sub
-----------------------------------------
Private Sub CommandButton1_Click()
' Tri
Range("A2:H200").Sort Key1:=Range("A2"), Order1:=xlAscending,
Key2:=Range _
("G2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase _
:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
'Enregistrement
Workbooks("Charge_V1").Save <<<<<<<<<<<<<<<<<ICI

Worksheets("Menu").Select
End Sub
------------------------------------------
Voilà j'espère que cette fois ci j'ai été plus claire dans mes codes je les
tous mis car j'ai le même genre d'erreurs, on dirait que c'est lié!
Merci beaucoup beaucoup beaucoup d'avance
Avatar
michdenis
Assure toi que les variables de la procédure sont définies convenablement selon ton projet.

'-------------------------------------
Sub Enregistrer()

Dim Chemin As String, Rg As Range, NomFichier As String
Dim Texbox As String

Chemin = "pars0001SapOngoing Live90-projets" & _
" 'évolution applicative'" & _
"Projet Bases ACCES50-Expression de besoin" & _
"base plan de chargeprojet_"

TextBox = userform2.numéro_projet.Value + 1

Set Rg = Workbooks("Charge_V1"). _
Worksheets("projets").Range("numéro_projet")
With Rg
Select Case .Value
Case Is < 10
NomFichier = "000" & TextBox & ".xls"
Case Is < 100
NomFichier = "00" & TextBox & ".xls"
Case Is < 1000
NomFichier = "0" & TextBox & ".xls"
End Select
Workbooks(.Parent.Name).Save
End With
End Sub
'-------------------------------------


Salutations!




"Claire" a écrit dans le message de news:
Je vous donne dons les programmes qui posent problème et que j'ai essayé de
modifié comme vous m'aviez dit:

Private Sub CommandButton1_Click()
Dim a
'Remplissage de la fiche projet avec les données du formulaire
Range("P2:AB2").Value = TextBox1.Text
Range("E3").Value = TextBox2.Text
Range("E6").Value = TextBox3.Text
Range("E4").Value = ComboBox1.Text
Range("E5").Value = ComboBox2.Text
Range("P4:U4").Value = ComboBox3.Text
Range("P3:U3").Value = ComboBox4.Text

'Incrémentation du numéro
a = Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value
<<<<<<<<<<<<<<<<<< Ici
Workbooks("projet_MODELE").Worksheets("Fiche Projet").Range("E5").Value = a
+ 1

'Mise à jour des mois
Range("E6").Select
Selection.Copy
Range("F8:I8").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("F8:BE8"), Type:=xlFillDefault
Range("F8:BE8").Select
Range("F9").Select

UserForm2.Hide
End Sub
----------------------------------
Private Sub CommandButton1_Click()
Dim Chemin As String
Chemin = "pars0001SapOngoing Live90-projets 'évolution
applicative'Projet Bases ACCES50-Expression de besoinbase plan de
chargeprojet_"

If Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value < 10
Then <<<<<<<<<<<<<<<<<<<<<<<<ICI
Workbooks("projet_MODELE").SaveAs Filename:=Chemin & "000" &
numéro_projet.Value + 1 & ".xls"
ElseIf Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value <
100 Then
Workbooks("projet_MODELE").SaveAs Filename:=Chemin & "00" &
numéro_projet.Value + 1 & ".xls"
ElseIf Workbooks("Charge_V1").Worksheets("projets").Range("B1").Value <
1000 Then
Workbooks("projet_MODELE").SaveAs Filename:=Chemin & "0" &
numéro_projet.Value + 1 & ".xls"
End If

m = 3
Workbooks("projet_MODELE").Worksheets("fiche projet").Cells(2, 6).Copy
Destination:=Workbooks("charge_V1").Worksheets("projets").Range("B" & m)
Workbooks("projet_MODELE").Worksheets("fiche projet").Cells(2, 16).Copy
Destination:=Workbooks("charge_V1").Worksheets("projets").Range("C" & m)
m = m + 1

Workbooks("projet_MODELE").Close
Worksheets("Menu").Select
End Sub
----------------------------------------------
Private Sub CommandButton3_Click()
Workbooks("Charge_V1").Save <<<<<<<<<<<<<<<<ICI
Workbooks("Charge_V1").Close
End Sub
----------------------------------------------
Private Sub CommandButton2_Click()
Dim i
'Nb de projets
Dim line
'Nb de personne
Dim k
'nb de mois
p = 2
Workbooks("Charge_V1").Worksheets("BDB").Range("A2:P1000").Clear
<<<<<<<<<<<<<<<<<<<<ICI

For Each i In Worksheets("projets").Range("nom_projet").Value
If i <> "" Then
Workbooks.Open ("pars0001SapOngoing Live90-projets
'évolution applicative'Projet Bases ACCES50-Expression de besoinbase plan
de charge" & i & ".xls")
Workbooks(i).Activate
line = 28
While Not Worksheets("Fiche Projet").Range("E" & line).Value
= ""
For k = 0 To 12
If Not IsEmpty(Worksheets("fiche
projet").Cells(line, 6 + 4 * k)) Then
Worksheets("fiche projet").Cells(line, 6 + 4 *
k).Copy

Workbooks("charge_V1").Worksheets("BDB").Range("D" & p).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
Worksheets("fiche projet").Cells(2, 5).Copy

Workbooks("charge_V1").Worksheets("BDB").Range("A" & p).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
Worksheets("fiche projet").Cells(line, 5).Copy

Workbooks("charge_V1").Worksheets("BDB").Range("B" & p).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
Worksheets("fiche projet").Cells(8, 6 + 4 *
k).Copy

Workbooks("charge_V1").Worksheets("BDB").Range("C" & p).PasteSpecial
Paste:=xlPasteValuesAndNumberFormats
p = p + 1
End If
Next k
line = line + 1
Wend
Workbooks(i).Close
'Next line
Else: Exit For

End If
Next i

End Sub
-----------------------------------------
Private Sub CommandButton1_Click()
' Tri
Range("A2:H200").Sort Key1:=Range("A2"), Order1:=xlAscending,
Key2:=Range _
("G2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase _
:úlse, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
'Enregistrement
Workbooks("Charge_V1").Save <<<<<<<<<<<<<<<<<ICI

Worksheets("Menu").Select
End Sub
------------------------------------------
Voilà j'espère que cette fois ci j'ai été plus claire dans mes codes je les
tous mis car j'ai le même genre d'erreurs, on dirait que c'est lié!
Merci beaucoup beaucoup beaucoup d'avance
Avatar
michdenis
Il y a une erreur sur la dernière ligne de code,

c'est un saveas au lieu de save ...

'-------------------------------------
Sub Enregistrer()

Dim Chemin As String, Rg As Range, NomFichier As String
Dim Texbox As String

Chemin = "pars0001SapOngoing Live90-projets" & _
" 'évolution applicative'" & _
"Projet Bases ACCES50-Expression de besoin" & _
"base plan de chargeprojet_"

TextBox = userform2.numéro_projet.Value + 1

Set Rg = Workbooks("Charge_V1"). _
Worksheets("projets").Range("numéro_projet")
With Rg
Select Case .Value
Case Is < 10
NomFichier = "000" & TextBox & ".xls"
Case Is < 100
NomFichier = "00" & TextBox & ".xls"
Case Is < 1000
NomFichier = "0" & TextBox & ".xls"
End Select
Workbooks(.Parent.Name).SaveAs Chemin & NomFichier
End With
End Sub
'-------------------------------------


Salutations!
Avatar
Claire
Merci pour votre aide! J'ai quelques questions a vous poser avant de la faire
fonctionner parce que mine de rien ce fait pas longtemps que je touche a VBA:
TextBox = userform2.numéro_projet.Value + 1
--> numéro_projet b'est pas dans le userform2 ne devrai je pas mettre
Workbooks("Charge_V1"). _
Worksheets("projets").Range("numéro_projet").Value+1 ou bien je ne
comprends pas la fonction de cette action??



Set Rg = Workbooks("Charge_V1"). _
Worksheets("projets").Range("numéro_projet")


A quoi sert la commande Set??

Workbooks(.Parent.Name).Save
--> Ici ne devrais je pas mettre un truc du genre

Workbooks("projet_MODELE").SaveAs Filename:=Chemin & NomFichier ???
Deplus malgrés mes nombreuse lescture je ne comprends pas très bien le
fonctionnement de With

Merci d'avance

1 2