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

3 réponses

1 2
Avatar
Claire
J'ai fait ce que vous disiez et je l'ai appliqué

Avec userform2 ca ne marche pas j'ai ce message d'erreur: "Erreur de
compilation Membre de méthode ou de données introuvable" et avec ceci j'ai la
même erreur que précédemment. (j'ai conservé le reste du programme)

Private Sub CommandButton1_Click()

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 besoinbase plan de
chargeprojet_"

TextBox =
Workbooks("Charge_V1").Worksheets("projets").Range("numéro_projet").Value + 1
<<<<<<<<<<<<<<<<<<<<<<Ici le message s'affiche

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("projet_MODELE").SaveAs Chemin & NomFichier

End With

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
Avatar
michdenis
Bonjour Claire,

Tu m'as dit que la cellule Range("numéro_projet") appartenait à la même feuille que la cellule B1

Si le nom des objets existe

Nom du Workbook = "Charge_V1"
Nom de la feuille = "projets"
Nom de la cellule = "numéro_projet"

Il n'y a aucune raison que cette ligne de code bloque... encore faut-il que ce classeur soit ouvert.

Quand tu écris ceci : habituellement, Numéro_Projet fait référence à un contrôle ....je ne sais pas où il est , ton code intiale ne
me permet pas de deviner, Est-ce dans un formulaire, une feuille de calcul ? Tu devrais être capable de répondre à cela et d'adapter
?

numéro_projet.Value


'--------------------------------
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
End With
Workbooks("projet_MODELE").SaveAs Chemin & NomFichier

End Sub
'--------------------------------


P.S. Ceci étant mon dernier message pour cette ficelle.


Salutations!



"Claire" a écrit dans le message de news:
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

Avatar
Claire
Bonjour Michdenis, je sais que la ficelle est terminée mais je voulais jsute
vous donner des nouvelles! J'ai changé de post hier et la grande partie des
bogues dont je vous parlais a disparu!! A paremment ce serait car le PC sur
lequel j'ai travaillé il y a trois jours est un PC où l'on fait des tests des
"expériences" donc il n'est pas configuré de la même manière! Ouf ca m'enlève
une bonne épine du pied! N'empèche merci beaucoup pour votre coup de main ca
ma bien servi, mon programme est plus clair et là ca marche!
merci encore et bonne journée!

"michdenis" wrote:

Bonjour Claire,

Tu m'as dit que la cellule Range("numéro_projet") appartenait à la même feuille que la cellule B1

Si le nom des objets existe

Nom du Workbook = "Charge_V1"
Nom de la feuille = "projets"
Nom de la cellule = "numéro_projet"

Il n'y a aucune raison que cette ligne de code bloque... encore faut-il que ce classeur soit ouvert.

Quand tu écris ceci : habituellement, Numéro_Projet fait référence à un contrôle ....je ne sais pas où il est , ton code intiale ne
me permet pas de deviner, Est-ce dans un formulaire, une feuille de calcul ? Tu devrais être capable de répondre à cela et d'adapter
?

numéro_projet.Value


'--------------------------------
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
End With
Workbooks("projet_MODELE").SaveAs Chemin & NomFichier

End Sub
'--------------------------------


P.S. Ceci étant mon dernier message pour cette ficelle.


Salutations!



"Claire" a écrit dans le message de news:
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