chan33
Messages postés36Date d'inscriptionlundi 25 août 2008StatutMembreDernière intervention 5 février 2009
-
8 sept. 2008 à 17:45
chan33
Messages postés36Date d'inscriptionlundi 25 août 2008StatutMembreDernière intervention 5 février 2009
-
8 sept. 2008 à 22:19
Bonjour,
J'ai une petite question peut-être simple, mais moi ça fait deux jours que je suis à régler ce problème.
Voilà j'active une cellule avec un click de la souris et par la suite je détermine mes variables avec cette cellule ex :
'dans la sheets Liste des soumissions
nomsoum = ActiveCell.Row
nprojet = Range("D" & nomsoum).Value
j'ai déterminé aussi mon numéro de projet dans la sheet Échéanciers
Sheets("Échéanciers").Select
Range("F1").Select
index = ActiveCell.Value
ActiveCell.FormulaR1C1 = index + 1
Range("C" & index - 1).Select
projet = ActiveCell.Value
projet = Right(projet, 4) + 1
projet = "R" & IIf((projet < 1000), "0", vbNullString) & projet
MsgBox "Nouveau projet :" & projet
Range("C" & index).Select
ActiveCell.FormulaR1C1 = projet
Maintenant, je veux copier le nouveau numéro de projet créé dans la sheet Liste des soumissions dans la cellule nprojet
par exemple utiliser la propriete formulaR1C1 pour ecrire une valeur dans une cellule est une co...rie !
En programation on compare pas des carrotes avec des tomates autrement dit on compare pas une chaine avec un nombre sans avoir
converti soit la chaine en nombre ou soit le nombre en chaine. Cela ta deja ete dit !
Donc je recommence en remplacent index par autre chose cette fois
With Sheets("Échéanciers")
Position = .Range("F1").Value
projet = Right(.Range("C" & Position).Value, 4) + 1
projet = "R" & IIf((Clng(projet) < 1000), "0", vbNullString) & projet
.Range("C" & Position).Value = projet
.Range("F1").Value = .Range("F1").Value +1
End With
MsgBox "Nouveau projet :" & projet
Ceci etant dit maintenant explique plus precisement ce que tu veux faire et pourquoi tu n'y arrives pas.
Ok je suis dur mais c'est parce que je veux pas abondonner(pour l'instant). si tu continus sur cette voie tu ne trouveras plus
personne pour t'aider et tu ne seras pas plus avancée.
chan33
Messages postés36Date d'inscriptionlundi 25 août 2008StatutMembreDernière intervention 5 février 2009 8 sept. 2008 à 19:55
C'est OK pour index, j'ai noté
Concernant mon code, je ne comprends pas pourquoi tu me dis que c'est n'importe quoi, alors qu'il fait ce que je veux. Je sais que ce n'est peut-être pas la meilleure méthode, mais j'ai aucuneaucune connaissance dans le domaine et j'ai monté tout ça avec l'aide VBA et ce forum. Pour ce qui est des remarques, j'ai pris note et je voulais corriger le tout une fois que j'allais avoir terminé mon code.
Bon pour ce qui est de la partie 'Inscription des spécifications du projet, j'ai modifié le tout.
Je te montre au complet mon code ATTENTION ceci est fais par une débutante, alors s'il-te-plaît ne soit pas trop sévère avec moi.
Sub Soumission_acceptée()
'Macro créée le 28 août 2008 par Chantal Caron
'Définition des variables
Dim Position, nomsoum, nsoumission, nclient, ndescrip, nprojet, projet
Dim LigneACopier As Long
Dim Reponse As Long
Dim Result As Range: Dim LigneSelected As Long
Dim Result2 As Range
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
Dim FSO As New FileSystemObject
Dim chemin As Variant
Dim cheminsoum As String
Dim chemintemps As String
Application.InputBox("Selectionner la ligne de la soumission à convertir", "Selection", , , , , », 8).Activate
'Inscription des specifications du projet
With Sheets("Échéanciers")
Position = .Range("F1").Value
projet = Right(.Range("C" & Position - 1).Value, 4) + 1
projet = "R" & IIf((CLng(Position) < 1000), "0", vbNullString) & Position
.Range("C" & Position).Value = projet
.Range("F1").Value = .Range("F1").Value + 1
End With
MsgBox "Nouveau projet : " & projet
'On selectionne la feuille
Sheets("Liste des soumissions").Select
'On demande de selectionner une ligne
Set Result = Application.InputBox("Selectionner la description et le nom du client à copier", "Selection", , , , , », 8)
'On recupere le no de la ligne dans le cas ou une cellule est selectionnee
LigneSelected = Result.Row
'On selectionne les cellules de la ligne concernee
ActiveSheet.Range("B" & LigneSelected & ":C" & LigneSelected).Select
'On copie
Worksheets("Liste des soumissions").Range("B" & LigneSelected & ":C" & LigneSelected).Copy _
Destination:=Worksheets("Échéanciers").Range("D" & index & ":E" & index)
'Copie du numero de projet, du client et de la description dans la feuille "Liste des projets"
Sheets("Liste des projets").Select
Range("B2").Select
position2 = ActiveCell.Value
ActiveCell.FormulaR1C1 = position2 + 1
Worksheets("Échéanciers").Range("C" & Position).Copy _
Destination:=Worksheets("Liste des projets").Range("A" & position2)
Worksheets("Échéanciers").Range("D" & Position).Copy _
Destination:=Worksheets("Liste des projets").Range("B" & position2)
Worksheets("Échéanciers").Range("E" & Position).Copy _
Destination:=Worksheets("Liste des projets").Range("C" & position2)
'Copier les dossiers et les renommer
Sheets("Liste des soumissions").Select
Range("G8").Select
cheminsoum = ActiveCell.Value
MsgBox "Sélectionner le répertoire d'enregistrement du projet"
With fd
.InitialFileName = "C:"
If .Show = -1 Then
MsgBox "Copie des fichiers, temps d'attente d'environ 2 minutes, appuyer sur OK"
For Each chemin In .SelectedItems
FSO.CopyFolder cheminsoum, chemin
MsgBox "Renomme les fichiers, appuyer sur OK"
Name nsoumission & "-" & ndescrip As projet & "-" & nclient
chemintemps = chemin & "" & projet & "-" & nclient & "\Temps et matériel" & projet & " Gestion projet.xls"
Name chemin & "" & projet & "-" & nclient & "\Temps et matériel" & nsoumission & " Gestion projet.xls" As chemintemps
'Création des liens avec la gestion du temps
Workbooks.Open Filename:= _
chemintemps
Sheets("Temps").Select
Windows("Liste des projets 2008.xls").Activate
Sheets("Liste des projets").Select
Range("F" & position2).Select
ActiveCell.FormulaR1C1 = "='[" & projet & " Gestion projet.xls]Temps'!R1C3"
Range("G" & position2).Select
ActiveCell.FormulaR1C1 = "='[" & projet & " Gestion projet.xls]Temps'!R37C2"
Range("H" & position2).Select
ActiveCell.FormulaR1C1 = "='[" & projet & " Gestion projet.xls]Temps'!R38C2"
Windows(projet & " Gestion projet.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close
'Création des Hyperlinks
Windows("Liste des projets 2008.xls").Activate
Sheets("Liste des projets").Select
Range("I" & position2).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
chemintemps _
, TextToDisplay:= _
chemin & "" & projet & "-" & description & "\Temps et matériel" & projet & " Gestion projet.xls"
Next chemin
Else
End If
End With
MsgBox "La création des dossiers et des fichiers du projet # " & projet & "est terminée"
End Sub
Bon voilà, c'est peut-être ce que j'aurais dû faire depuis le début pour que tu comprenne mieux le tout.
Je voudrais que le # de projet dans la feuille Échéancier que je viens de créer se copie dans la cellule nprojet que j'ai défini au début de la feuille Liste des soumissions
Peut-être que tu as de la difficulté à me comprendre du fait que je sois québécoise et que même si nous parlons la même langue, nos expression ne sont pas les mêmes.
Merci pour ta patience et sans rancune
Explique moi quel expression tu ne comprends pas et je vais essayer de trouver autre chose.