Copier coller VBA

Copier coller VBA - VB/VBA/VBS - Programmation

Marsh Posté le 30-07-2008 à 23:24:37    

Bonjour,
Je souhaiterai copier une cellule vers une autre cellule contenant déjà un chiffre: c'est une sommation basique!
Mon probléme est que la cellule dans laquelle je veux faire la somme contient un chiffre qui est obtenu avec une formule: donc qd je fais la somme, ma formule disparait aprés, ce que je ne veux pas.  
Par exple: si je rajoute à A2(qui a une formule) la cellule A4, la formule dans A2 disparait: cells(1,2)=cells(1,2)+cell(1,4)
Je vous remercie de toute aide, par exple une formule qui ma permettrai de figer la formule dans A2, tout en me permettant de faire une sommation.
P.

Reply

Marsh Posté le 30-07-2008 à 23:24:37   

Reply

Marsh Posté le 30-07-2008 à 23:33:19    

En récupérant prudemment le contenu de la cellule en tant que string puis en remettant dedans ta formule finale en tant que string, ca le fait pas? :??:


---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
Reply

Marsh Posté le 30-07-2008 à 23:58:52    

Ben_be a écrit :

En récupérant prudemment le contenu de la cellule en tant que string puis en remettant dedans ta formule finale en tant que string, ca le fait pas? :??:


Presque... En récupérant la cellule en tant que formule et en concatenant l'ajout : Cells(1, 2) = Cells(1, 2).Formula & "+" & Cells(1, 4).Value


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 31-07-2008 à 00:00:36    

juste :jap: (s'fait 2 ans aussi [:joce])


---------------
Putain j'ai rêvé de toi cette nuit !! Alors que jte connais même pas !!-LaL0utre | Ben_be est un roxxeur d'ours d'envergure mondiale-Daaadou |Entre un dessert et Ben_be je choisis Ben_be-Ramasse-miette
Reply

Marsh Posté le 31-07-2008 à 22:40:19    

Bonjour!
je vs remercie de vos contribution, cependant la solution proposée ne mache pas: je lis "incompatibilité de type" qd je fais tourner le programme!
Je tiens à présicer que le cellule destinataire contient un "integer" qui est renvoyé par une formule. C'est cette formule que je ne veux pas écraser en sommant le chiffre présent dans la cellule avec un autre chiffre venant d'une autre cellule: c'est bien plus compliqué que vous ne l'avez abordé!
je vous remercie encore une fois et espère trouver une solution de votre part.
P.

Reply

Marsh Posté le 31-07-2008 à 23:10:13    

Sur excel ?
Si on dit que A1 et A2 sont les coordonnées de la cellule où il y a la formule que donne : msgbox cells(A1,A2).Formula


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 02-08-2008 à 14:56:19    

Bonjour!
C'est bien sur excel.
Ma formule n'est pas écrite sur VB mais sur excel...
Cells(ligne,colonne) mais pas A1,A2 qui st des cellules. Il faudrait utiliser Range(A1,A2)
Mais bon, ca ne répond tjours pas à m question!
Merci de la contribution!

Reply

Marsh Posté le 02-08-2008 à 15:59:20    

peterboye a écrit :

Bonjour!
C'est bien sur excel.
Ma formule n'est pas écrite sur VB mais sur excel...
Cells(ligne,colonne) mais pas A1,A2 qui st des cellules. Il faudrait utiliser Range(A1,A2)
Mais bon, ca ne répond tjours pas à m question!
Merci de la contribution!


Moi je comprends rien....
Tu veux utiliser simplement ta feuille Excel ou tu veux faire du VBA ?


---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 02-08-2008 à 16:27:21    

JE pense l'avoir assez bien expliqué il me semble...j'y go encore:
j'ai une feuille excel contenant des formules qui me renvoient des chiffres. Je veux faire un programme VBA qui me permette d'exploter d'autres données que je vais rajouter sur ma feuille excel contenant ces formules.
Je veux une solution qui me permette de ne pas écraser mes formule lors de la sommation.
Ca doit être plus clair il me semble.
Merci pour les contributions et une solution optimale.
P.

Reply

Marsh Posté le 02-08-2008 à 16:40:30    

Que renvoie le code vb suivant :

Code :
  1. Msgbox cells(1,2).Formula


Cells(1,2) étant, bien évidemment, la cellule dans laquelle il y a ta formule...


Message édité par babasss le 02-08-2008 à 16:42:09

---------------
Feedback : http://forum.hardware.fr/hfr/Achat [...] 2666_1.htm
Reply

Marsh Posté le 02-08-2008 à 16:40:30   

Reply

Marsh Posté le 08-03-2010 à 18:16:24    

Bonjour le forum !  
 
J'ai un soucis avec un copier / coller sur VBA. j'ai fais un programme grâce aux forum qui marche (a priori) mais le problème vient au niveau du ActiveSheet.paste  
j'ai essayé avec Selection.Paste même problème ... si quelqu'un peut m'aider ? !  
 
Je voudrais pouvoir récupérer la ligne entière qui a été identifiée comme différente entre les 2 listes et la sauvegarder dans une 3ème feuille mais qu'elle vienne se coller par accumulation (donc en fin de liste pré-existante)  
 
MErci !  
 
sub COMPAR()
 
'declaration des variables'
Dim valeurA As String, i As Integer, x As Integer, valeurB As String
 
'i correspondra au numeros de ligne dans la feuille 1'
i = 1
 
'continuer tant que i n'est pas egal à 700
Do While i <> 6
 
Sheets("Feuil1" ).Select
 
'donner une valeur de départ à VALEURA, valeura=le contenue de A2'
valeurA = Range("B" & i).Value
 
'activer la feuille 2'
Sheets("Feuil2" ).Select
 
'x correspond au numeros de ligne dans la feuille 2'
x = 1
 
'donner une valeur de depart a valeurb'
valeurB = Range("A" & x).Value
 
'comparer valeura et valeurb, tant que faux incrementer x de 1'
 
Do While valeurA <> valeurB
 
x = x + 1
 
    If x = 6 Then GoTo FinTest
 
valeurB = Range("A" & x).Value
 
Loop
 
'on incremente i de +1 et on colorie en jaune les valeurs sorties + on copie / colle la ligne sortie
FinTest:
    If x = 6 Then
    Worksheets("Feuil1" ).Activate
    Range("B" & i).Select
        With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        End With
     
    Range("B" & i).Select
     
    Selection.EntireRow.Copy
     
    Sheets("Feuil3" ).Select
     
    Cells(1000, 2).End(xlUp).Offset(1, 0).Select
     
    ActiveSheet.Paste
     
    End If
         
    i = i + 1
'on continue les fonction d'avant jusqu'a ce que i=5000'
Loop
 
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed