Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2389 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Copier coller VBA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Copier coller VBA

n°1767063
peterboye
Posté le 30-07-2008 à 23:24:37  profilanswer
 

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.

mood
Publicité
Posté le 30-07-2008 à 23:24:37  profilanswer
 

n°1767065
Ben_be
ʎlıɐp uǝɯǝlʇuǝƃ ̡̢̛̗̘̙̜̝̞̟̠̊̋̌̍
Posté le 30-07-2008 à 23:33:19  profilanswer
 

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
n°1767079
babasss
Posté le 30-07-2008 à 23:58:52  profilanswer
 

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
n°1767080
Ben_be
ʎlıɐp uǝɯǝlʇuǝƃ ̡̢̛̗̘̙̜̝̞̟̠̊̋̌̍
Posté le 31-07-2008 à 00:00:36  profilanswer
 

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
n°1767534
peterboye
Posté le 31-07-2008 à 22:40:19  profilanswer
 

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.

n°1767545
babasss
Posté le 31-07-2008 à 23:10:13  profilanswer
 

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
n°1768251
peterboye
Posté le 02-08-2008 à 14:56:19  profilanswer
 

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!

n°1768264
babasss
Posté le 02-08-2008 à 15:59:20  profilanswer
 

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
n°1768267
peterboye
Posté le 02-08-2008 à 16:27:21  profilanswer
 

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.

n°1768272
babasss
Posté le 02-08-2008 à 16:40:30  profilanswer
 

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
mood
Publicité
Posté le 02-08-2008 à 16:40:30  profilanswer
 

n°1972047
clnam
Posté le 08-03-2010 à 18:16:24  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Copier coller VBA

 

Sujets relatifs
Générer un numéro d'une certaine forme automatiquement VBA[VBA] Explications des références (librairies) -> RESOLU
Lien entre Internet Explorer et VBA excelProbleme sur VBA
VBA ouvrir fichier txt avec séparateursProgrammer le modèle CIR Sous VBA
[VBA] Excel - Boutons macro commandeProbleme d'automatisation en VBA sous Excel
VBA Excel - evenements Copier CollerVBA copier coller pusieurs feuilles
Plus de sujets relatifs à : Copier coller VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR