Report d'un contenu d'une cellule vers une autre
Report d'un contenu d'une cellule vers une autre avec conservation de mise en forme
Bonjour,
Dans le cadre d'un projet, j'ai eu pour mission d'améliorer un outil d'étude de prix réalisé sous excel et VBA.
Mon soucis est simple a premiere vue mais je bloque dessus depuis maintenant deux jours.
J'ai 12 feuilles dans mon classeurs.
Sur l'une d'entre elle, appelé "sousdétail PU", on note le type d'ouvrage dans une cellule et le descriptif dans une autre cellule.
Ces deux informations sont copiées et collées dans une autre feuille nommée "Constitution EDP". Jusqu'ici pas de probleme. Sauf que je voudrais conserver la police, la couleur et la mise en forme de ces données collées.
Voici le code associé :
If ThisWorkbook.name <> "PU standards.xls" Then
If (currentSheet.name <> "constitution EDP") And (currentSheet.name <> "sousdetailPU") Then
Do
i = i + 1
Loop Until Sheets("constitution EDP").Range("C" & i) = "" Or Sheets("constitution EDP").Range("C" & i) = npu(1)
If (Sheets("constitution EDP").Range("E" & i).Value <> Range("D6")) Or (Sheets("constitution EDP").Range("H" & i).Value <> Range("C9")) Or (Sheets("constitution EDP").Range("M" & i).Value <> Range("unité")) Then
Sheets("constitution EDP").Range("E" & i).Value = currentSheet.Range("D6").Value
Sheets("constitution EDP").Range("E" & i).Font.Color = currentSheet.Range("D6").Font.Color
Sheets("constitution EDP").Range("H" & i).Value = currentSheet.Range("C9").Value
Sheets("constitution EDP").Range("H" & i).Font.Color = currentSheet.Range("C9").Font.Color
Sheets("constitution EDP").Range("M" & i).Value = Range("unité").Value
End If
Hors, ce code ne me retransmet que le texte sans la mise en forme
J'ai également essayé avec cette syntaxe ci dessous, mais rien n'y fait.
Sheets("Feuil3").Range("A1").Copy Destination:=Sheets("Feuil2").Range("A1")
De plus, ces informations sont de nouveau copiées pour etre collé dans la feuille "devis type", mais encore une fois, pas de mise en forme, via ce code ci dessous
Do
With Sheets("DevisType")
.Range("C" & ligne).Font.Bold = False
lgth_str = Len(Sheets("Constitution EDP").Range("E" & i).Value)
.Range("A" & ligne).Value = Sheets("Constitution EDP").Range("D" & i).Value
.Range("C" & ligne).Value = Sheets("Constitution EDP").Range("E" & i).Value & vbCrLf & Sheets("Constitution EDP").Range("H" & i).Value
.Range("C" & ligne).Characters(1, lgth_str).Font.Bold = True
.Rows(ligne).RowHeight = (Sheets("Constitution EDP").Rows(i).RowHeight)
.Range("D" & ligne).Value = Sheets("Constitution EDP").Range("M" & i).Value
.Range("E" & ligne).Value = Sheets("Constitution EDP").Range("L" & i).Value
.Range("F" & ligne).Value = Sheets("Constitution EDP").Range("N" & i).Value
[...]
fin du code
Je voudrais donc savoir si quelqu'un pouvait m'aiguiller afin de conserver la mise en forme du texte sur l'ensemble des deux feuilles.
On m'a dit que cela été du a un soucis concernant mes cellules, certaines étant fusionnées, mais je n'en sais pas plus.
Merci a ceux qui liront jusqu'au bout (quel courage
Bonjour
A mon avis, tu aurais un peu plus d'aide si tu tu fournis un fichier afin de tester
Banzai64 a écrit :Bonjour
A mon avis, tu aurais un peu plus d'aide si tu tu fournis un fichier afin de tester
Bonjour,
J'aimerai partager le fichier et l'aurai fait si cela était possible, mais malheureusement, il comporte des informations confidentielle, et est relié a une base de donnée sans lequel il est impossible de le faire fonctionner.
Par contre, si une personne a le courage, je peux lui transmettre des informations supplémentaires, screens ...
Cordialement.
Bonjour
Je parle pour moi
Pas facile à trouver une solution à ton copier coller sans base sur laquelle travailler
Normalement un copier/coller recopie aussi la forme
Mais surement que quelqu'un trouvera une solution
Banzai64 a écrit :Bonjour
Je parle pour moi
Pas facile à trouver une solution à ton copier coller sans base sur laquelle travailler
Normalement un copier/coller recopie aussi la forme
Mais surement que quelqu'un trouvera une solution
J'espere, et en tout cas, merci d'avoir pris le temps de lire mon problème