Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 02/10/2008, 13h26   #1 (permalink)
XLDnaute Junior
 
Date d'inscription: septembre 2008
Messages: 78
Par défaut Copie colle -> Destination

Bonjour a tous !

Voilà j'ai un soucis avec mon code ( ci dessous ).
Il copie une celulle qui est en format : Personnalisé en 0,00\ % quand je la colle dans ma destination il ne copie pas le format il fait un peu n'importe quoi

ex : -> classeur source , celulle en format personalisé 0,00\ % = 40,23%
-> classeur de destination, collage -> 0,4023

donc je suis obligé de convertir en nombre, mettre en pourcentage, mais des que je relance mon programme ca ecrase et ca revien a un collage "raté"

Donc ma question est quel est le code a changé dans mon code pour pouvoir copié le format et la valeur de ma cellule source ( cf : collage special Format et valeur du nombre ) car la je copie ma cellule souhaité mais ca oublie le format, même quand je met en format pourcentage ma cellule de destination ( ca me met le petit "!" en jaune )

Code:
Dim Variable1 As String
Dim Variable2 As String
Dim Variable3 As String
Dim Variable4 As String
Dim Variable5 As String
Dim Variable6 As String
Dim Variable7 As String
Dim Variable8 As String

Dim i As Integer
Dim j As Integer
Dim h As Integer

        i = 9
        For i = 9 To 846 Step 27
          If Cells(i, 2) = "753220 - PARIS KELLER ACP" Then
                For j = 5 To 26 Step 1
                    
                       If Cells(i + 1, j) = "Janvier" Then
                               With ThisWorkbook.Sheets("Détail ACP")
                     
                                    Variable1 = .Cells(i + 8, j).Value
                                    Variable2 = .Cells(i + 12, j).Value
                                    Variable3 = .Cells(i + 11, j).Value
                                    Variable4 = .Cells(i + 3, j).Value
                                    Variable5 = .Cells(i + 14, j).Value
                                    Variable6 = .Cells(i + 15, j).Value
                                    Variable7 = .Cells(i + 5, j).Value
                                     Variable8 = .Cells(i + 6, j).Value
                                End With
                        Set Dest = Workbooks.Open(ActiveWorkbook.Path & "\TBM ACP.xls")
                         With Dest.Sheets("Paris Keller")
                              .Cells(9, 7).Value = Variable1
                              .Cells(21, 39).Value = Variable2
                              .Cells(30, 7).Value = Variable3
                              .Cells(40, 7).Value = Variable4
                              .Cells(42, 7).Value = Variable5
                              .Cells(43, 7).Value = Variable6
                              .Cells(45, 7).Value = Variable7
                              Cells(47, 7).Value = Variable8
                         End With
                 Exit For
          End If
        Next
      Exit For
    End If
Next
gopo est déconnecté   Réponse avec citation
ANNONCES
Vieux 02/10/2008, 14h19   #2 (permalink)
XLDnaute Barbatruc
 
Avatar de Pierrot93
 
Date d'inscription: août 2006
Version Excel : Excel 2003 (PC)
Messages: 4 750
Par défaut Re : Copie colle -> Destination

Bonjour Gopo

oui à priori normal, puisque tu passes par des variables, hors celles-ci stockent les valeur et non les formats. Regardes ci dessous, j'ai modifié le code, mais pas trop sur de des "exit for" placés dans les boucles. Mais sans plus de détails et sans le code complet, difficile de t'en dire plus. Donc à tester ...

Code:
Option Explicit
Sub test()
Dim i As Integer, j As Integer, h As Integer
Dim Dest As Workbook

Set Dest = Workbooks.Open(ActiveWorkbook.Path & "\TBM ACP.xls")
i = 9

For i = 9 To 846 Step 27
    If Cells(i, 2) = "753220 - PARIS KELLER ACP" Then
        For j = 5 To 26 Step 1
            If Cells(i + 1, j) = "Janvier" Then
                With ThisWorkbook.Sheets("Détail ACP")
                    .Cells(i + 8, j).Copy Dest.Sheets("Paris Keller").Cells(9, 7)
                    .Cells(i + 12, j).Copy Dest.Sheets("Paris Keller").Cells(21, 39)
                    .Cells(i + 11, j).Copy Dest.Sheets("Paris Keller").Cells(30, 7)
                    .Cells(i + 3, j).Copy Dest.Sheets("Paris Keller").Cells(40, 7)
                    .Cells(i + 14, j).Copy Dest.Sheets("Paris Keller").Cells(42, 7)
                    .Cells(i + 15, j).Copy Dest.Sheets("Paris Keller").Cells(43, 7)
                    .Cells(i + 5, j).Copy Dest.Sheets("Paris Keller").Cells(45, 7)
                    .Cells(i + 6, j).Copy Dest.Sheets("Paris Keller").Cells(47, 7)
                End With
                Exit For
            End If
        Next j
    End If
    Exit For
Next i
End Sub
bon après midi
@+
__________________
Pierrot

On se trouve toujours suffisamment intelligent, vu que c'est avec ce que l'on a qu'on juge !!!
Pierrot93 est connecté maintenant   Réponse avec citation
Vieux 02/10/2008, 14h45   #3 (permalink)
XLDnaute Junior
 
Date d'inscription: septembre 2008
Messages: 78
Par défaut Re : Copie colle -> Destination

Bonjour pierrot,

Je teste ceci, j'edit des que c'est ok, merci à toi d'avoir répondu.

Bonne apres midi a toi aussi

edit : j'ai testé, ca copie bien ce que je veux mais probleme .. ca me remplit la cellule de destination de noir, ca me mes des bordure rouges, et une police a 6 peux tu m'aidé sur ce coup la ?

Dernière modification par gopo ; 02/10/2008 à 14h56.
gopo est déconnecté   Réponse avec citation
Vieux 02/10/2008, 15h07   #4 (permalink)
XLDnaute Junior
 
Date d'inscription: septembre 2008
Messages: 78
Par défaut Re : Copie colle -> Destination

Je pense qu'il faudrait que je prenne seulement la valeur et non la forme ... possible ?

Merci
gopo est déconnecté   Réponse avec citation
Vieux 02/10/2008, 15h20   #5 (permalink)
XLDnaute Barbatruc
 
Avatar de Pierrot93
 
Date d'inscription: août 2006
Version Excel : Excel 2003 (PC)
Messages: 4 750
Par défaut Re : Copie colle -> Destination

Re,

si tu ne veux pas l'intégralité du format de la cellule, mais seulement le format nombre, essaye en réutilisant les variables mais par contre avec la propriété "text" de la cellule, comme suit :

Code:
Variable1 = .Cells(i + 8, j).Text
@+
__________________
Pierrot

On se trouve toujours suffisamment intelligent, vu que c'est avec ce que l'on a qu'on juge !!!
Pierrot93 est connecté maintenant   Réponse avec citation
Vieux 02/10/2008, 15h30   #6 (permalink)
XLDnaute Junior
 
Date d'inscription: septembre 2008
Messages: 78
Par défaut Re : Copie colle -> Destination

Cool tout marche, une derniere question.

est il possible de faire ceci :

J'actionne mes maccro en cliquant dessus, je peux aussi utiliser des raccourcis, mon code VBA est liée a ma page excel ! alors est il possible de faire un programme qui n'est pas liée au tableau excel car j'utilise ce code pour l'année 2008, mais si je suis en 2009, je vais devoir recrée des macros les attribué a mon nouveau classeur 2009, y copié le code etc... c'est embêtant :/.

est il possible donc de crée un programme en VBA externe au feuille excel ?

( j'espere avoir été claire )
gopo est déconnecté   Réponse avec citation
Vieux 02/10/2008, 15h35   #7 (permalink)
XLDnaute Barbatruc
 
Avatar de Pierrot93
 
Date d'inscription: août 2006
Version Excel : Excel 2003 (PC)
Messages: 4 750
Par défaut Re : Copie colle -> Destination

Re,

oui, tout à fait possible, soit tu enregistres tes macros dans un classeur dédié ou bien dans le classeur de macros personnelles. Mais il faudra sans doute "variabliser" les données qui ne seront pas identiques, comme les noms de classeur et de feuille.... Et y faire référence systèmatiquement.

@+
__________________
Pierrot

On se trouve toujours suffisamment intelligent, vu que c'est avec ce que l'on a qu'on juge !!!
Pierrot93 est connecté maintenant   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
copie colle thib Forum Excel 1 22/06/2006 17h01
problème de déstination de copie br44 Forum Excel 7 05/09/2005 18h30
copié/collé Baldhype Forum Excel 2 13/07/2005 15h44
Copié/Collé gab Forum Excel Downloads - Archives 2 31/01/2005 17h14
!!! PB de copié collé !!! fabrice Forum Excel Downloads - Archives 2 24/04/2003 12h17


Fuseau horaire GMT +2. Il est actuellement 09h42.


(C) 2006 Excel Downloads