Copier cellule non déterminé

chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009 - 8 sept. 2008 à 17:45
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Derniè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

Si quelqu'un peut m'aider, j'en serais ravi.

Merci!

Chantal

5 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
8 sept. 2008 à 18:27
Salut,

cela fait plusieurs postes sur les quels j'essai de te repondre et je comprend toujours pas tes explications

cette fois je ne comprend pas le probleme.

index est une variable donc il faut absolument lui trouver un autre nom car index est un nom reservé VBA(DAO).

Et puis ton code c'est n'importe quoi ! je sais que c'est pas sympas comme reflexion mais faudrait peut etre que tu appliques les remarques qui ton deja été faitent.
notamment ici : http://www.vbfrance.com/forum/sujet-BOUTON-RATTACHE-MACRO_1194019.aspx?p=2

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.

A+
0
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Derniè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
      
nomsoum = ActiveCell.Row
nsoumission = Range("A" & nomsoum).Value
nclient = Range("C" & nomsoum).Value
ndescrip = Range("B" & nomsoum).Value
nprojet = Range("D" & nomsoum).Value


'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
       
  Workbooks.Open Filename:= _
  chemintemps
  Sheets("Temps").Select
  Range("B2").Select
  ActiveCell.FormulaR1C1 = projet
  ActiveWorkbook.Save
  ActiveWindow.Close
  
 '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.

Chantal
0
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009
8 sept. 2008 à 21:56
Je voulais simplement savoir si j'étais plus clair et si tu désirais toujours me venir en aide ?

Merci bigfish_le vrai !

Chantal
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
8 sept. 2008 à 22:15
Ok j'ai vu que tu avais poster mais je suis boulot et j'ai pas encore eu le temps de me pencher sur ton probleme.
Des que possible je regarde
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chan33 Messages postés 36 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 5 février 2009
8 sept. 2008 à 22:19
Merci, j'attends de tes nouvelles. Moi je quitte le bureau et je suis de retour demain matin. 

Chantal
0
Rejoignez-nous