Copier coller sous VBA
Fermé
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
-
13 sept. 2013 à 11:38
messin57000 Messages postés 67 Date d'inscription lundi 2 septembre 2013 Statut Membre Dernière intervention 9 décembre 2013 - 16 sept. 2013 à 11:38
messin57000 Messages postés 67 Date d'inscription lundi 2 septembre 2013 Statut Membre Dernière intervention 9 décembre 2013 - 16 sept. 2013 à 11:38
A voir également:
- Copier coller sous VBA
- Copier coller pdf - Guide
- Historique copier-coller android - Guide
- Copier-coller - Accueil - Informatique
- Symbole clavier copier coller - Guide
- Coeur vide copier-coller ✓ - Forum Réseaux sociaux
8 réponses
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
524
13 sept. 2013 à 12:02
13 sept. 2013 à 12:02
Bonjour,
Si je comprends bien tes explications, tu dois pouvoir te contenter de
Si je comprends bien tes explications, tu dois pouvoir te contenter de
Sub copier_coller()A+
Dim vitesse As Byte
For vitesse = 0 To 7
With Worksheets("BLACK-BOOK")
Cells(41 + 43 * vitesse, 15).Copy
ActiveSheet.Paste Destination:=Cells(434, 6 + 6 * vitesse)
End With
Next vitesse
End Sub
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
524
13 sept. 2013 à 15:05
13 sept. 2013 à 15:05
La ligne Dim vitesse As Byte sert à déclarer le type de la variable "vitesse".
Ce type doit être adapté au mieux à la variable utilisée.
La valeur de la variable étant un entier de valeur 0 à 7, tu peux définir un type Byte (limité à 255 maxi). J'aurais pu choisir un type Integer, Long ou Variant mais ce choix n'aurait pas été optimum.
Pour ton second problème, je dois t'avouer que je n'ai pas bien compris.
En l'état actuel, le programme copie des formules qui contiennent des adresses relatives.
O41 contient une formule avec N39.
Quand tu copies O41 dans F434, l'adresse devient normalement E432.
Ce n'est pas ce que cherche à faire ?
A+
Ce type doit être adapté au mieux à la variable utilisée.
La valeur de la variable étant un entier de valeur 0 à 7, tu peux définir un type Byte (limité à 255 maxi). J'aurais pu choisir un type Integer, Long ou Variant mais ce choix n'aurait pas été optimum.
Pour ton second problème, je dois t'avouer que je n'ai pas bien compris.
En l'état actuel, le programme copie des formules qui contiennent des adresses relatives.
O41 contient une formule avec N39.
Quand tu copies O41 dans F434, l'adresse devient normalement E432.
Ce n'est pas ce que cherche à faire ?
A+
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
13 sept. 2013 à 15:20
13 sept. 2013 à 15:20
voici un fichier de travail model j'ai ecrit un commentaire tout en bas de la ligne 434 je pense ca t'aidera mieux a comprendre ce que je cherche
http://cjoint.com/13sp/CInptHrwc4O.htm
Merci
http://cjoint.com/13sp/CInptHrwc4O.htm
Merci
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
13 sept. 2013 à 23:16
13 sept. 2013 à 23:16
Bonjour,
Désolé, erreur de poste.
Désolé, erreur de poste.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
524
14 sept. 2013 à 08:12
14 sept. 2013 à 08:12
Bonjour,
Si j'ai bien compris :
Le débit à 100% (N41) doit être copié en E434, soit Cells(434,5) =Cells(41,14)
Le débit à 90% (N84) doit être copié en K434 soit Cells(434,5+6) =Cells(41+43,14)
Le débit à 80% (N127) doit être copié en Q434 soit Cells(434,5+2*6) =Cells(41+2*43,14)
Etc... jusqu'au débit mini (7 valeurs de débit au total).
A+
Si j'ai bien compris :
Le débit à 100% (N41) doit être copié en E434, soit Cells(434,5) =Cells(41,14)
Le débit à 90% (N84) doit être copié en K434 soit Cells(434,5+6) =Cells(41+43,14)
Le débit à 80% (N127) doit être copié en Q434 soit Cells(434,5+2*6) =Cells(41+2*43,14)
Etc... jusqu'au débit mini (7 valeurs de débit au total).
Sub copier_coller()
Dim vitesse As Byte
For vitesse = 0 To 7
With Worksheets("BLACK-BOOK")
Cells(41 + 43 * vitesse, 14).Copy
ActiveSheet.Paste Destination:=Cells(434, 5 + 6 * vitesse)
End With
Next vitesse
End Sub
A+
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
14 sept. 2013 à 10:33
14 sept. 2013 à 10:33
non pas tout a fait la condition n'est pas sur le debit, mais les 5 autres parametres qui suivent le debit pour chaque vitesse ( HMT, Potot, P&tot, P2 et N) ces parametre sont écrit en fonction du debit. et quand on les copie et on les colle bah la case débit change... il faut que quand on les colle il faut qu'ils soient en fonction de la nouvelle case du débit c'est a dire :
Pour 100% : dans toutes les formule des 5 param doivent etre ecrit avec E434
( Hmt =0,0132557860879696*E434 ^ 6 + -0,188882303786579*E434 ^ 5...
Potot =0,217578109574416*E434 ^ 6 + -3,01387999639787*E434 ^ 5 (DANS LA FORMLULE ACTUELLE Potot est =0,217578109574416*P434 ^ 6 + -3,01387999639787*P434 ^ 5...)
donc voila faut que les 5 param soit ecrit en fonction du meme debit pour chaque vitesse...
J'espere j'etais clair cette fois ci
A plus
Pour 100% : dans toutes les formule des 5 param doivent etre ecrit avec E434
( Hmt =0,0132557860879696*E434 ^ 6 + -0,188882303786579*E434 ^ 5...
Potot =0,217578109574416*E434 ^ 6 + -3,01387999639787*E434 ^ 5 (DANS LA FORMLULE ACTUELLE Potot est =0,217578109574416*P434 ^ 6 + -3,01387999639787*P434 ^ 5...)
donc voila faut que les 5 param soit ecrit en fonction du meme debit pour chaque vitesse...
J'espere j'etais clair cette fois ci
A plus
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
524
15 sept. 2013 à 09:29
15 sept. 2013 à 09:29
Le plus simple, c'est de copier les valeurs
Sub copier_coller()A+
Dim vitesse As Byte
For vitesse = 0 To 7
With Worksheets("BLACK-BOOK")
Cells(41 + 43 * vitesse, 15).Copy 'Hmt(mCE)
Cells(434, 6 + 6 * vitesse).PasteSpecial xlPasteValues
Cells(41 + 43 * vitesse, 5).Copy 'P0tot
Cells(434, 7 + 6 * vitesse).PasteSpecial xlPasteValues
Cells(41 + 43 * vitesse, 11).Copy 'P1tot
Cells(434, 8 + 6 * vitesse).PasteSpecial xlPasteValues
Cells(41 + 43 * vitesse, 12).Copy 'P2
Cells(434, 9 + 6 * vitesse).PasteSpecial xlPasteValues
Cells(41 + 43 * vitesse, 13).Copy 'N
Cells(434, 10 + 6 * vitesse).PasteSpecial xlPasteValues
End With
Next vitesse
End Sub
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
16 sept. 2013 à 09:25
16 sept. 2013 à 09:25
merci Cyrus pour ta réponse mais effectivement ca aurait été plus simple de copier que les valeurs mais justement moi j'ai besoin de copier la derniere ligne dans un autre fichier et faut que je distingue la variation des parametres quand je change le debit...
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
15 sept. 2013 à 15:46
15 sept. 2013 à 15:46
Bonjour messin57000,
C'est vraiment dommage que ce qui suit ne vous a servi à rien et pourtant une légère modification et cela fonctionne sur votre fichier.
Remplacer votre ligne d'instruction par le bloc de lignes suivant:
With Sheets("BOOK")
For c = 1 To 4
.Cells(27, c + 3).FormulaLocal = "=" & Cells(6, c + 10).Value & "*N26^6+" & Cells(7, c + 10).Value & "*N26^5+" _
& Cells(8, c + 10).Value & "*N26^4+" & Cells(9, c + 10).Value & "*N26^3+" & Cells(10, c + 10).Value & "*N26^2+" _
& Cells(11, c + 10).Value & "*N26^1+" & Cells(12, c + 10).Value
Next c
End With
Bon dimanche
C'est vraiment dommage que ce qui suit ne vous a servi à rien et pourtant une légère modification et cela fonctionne sur votre fichier.
Remplacer votre ligne d'instruction par le bloc de lignes suivant:
With Sheets("BOOK")
For c = 1 To 4
.Cells(27, c + 3).FormulaLocal = "=" & Cells(6, c + 10).Value & "*N26^6+" & Cells(7, c + 10).Value & "*N26^5+" _
& Cells(8, c + 10).Value & "*N26^4+" & Cells(9, c + 10).Value & "*N26^3+" & Cells(10, c + 10).Value & "*N26^2+" _
& Cells(11, c + 10).Value & "*N26^1+" & Cells(12, c + 10).Value
Next c
End With
Bon dimanche
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
16 sept. 2013 à 09:30
16 sept. 2013 à 09:30
non pas du tout ca les valeur des case N26 c'est pas les bon et la ligne 27 aussi donc ca colle pas au fichier... et meme si j'essaye d'adapter au fichier le probleme est le meme c'est ecatement ce qu'on fait à ce jour mais le probleme c'est que les valeurs changent qd on copie colle la ligne dans un autre fichier
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
16 sept. 2013 à 10:12
16 sept. 2013 à 10:12
Bonjour,
Eh bien là je ne vais pas insisté si vous n'arrivez pas à comprendre, c'est comme .... :
https://www.commentcamarche.net/infos/25855-charte-d-utilisation-de-commentcamarche-net-respect-d-autrui/
Salutations
Le pingou
Eh bien là je ne vais pas insisté si vous n'arrivez pas à comprendre, c'est comme .... :
https://www.commentcamarche.net/infos/25855-charte-d-utilisation-de-commentcamarche-net-respect-d-autrui/
Salutations
Le pingou
messin57000
Messages postés
67
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
16 sept. 2013 à 11:38
16 sept. 2013 à 11:38
Je pense il y'a un mal entendu je comprends pas pourquoi vous m'envoyer le lien...
Je pense pas vous avoir manquer du respect au contraire , je m'excuse si vous vous etes fais des idées le but quand meme c'est d'arriver au but voulu, c'est pas par plaisir que je conteste mais j'essaye d'éxpliquer ce que je veux, je m'exprime tres mal peut etre mais j'ai pas encore obtenus le résultat voulu...
Je vous remerci quand même pour votre aide
Je pense pas vous avoir manquer du respect au contraire , je m'excuse si vous vous etes fais des idées le but quand meme c'est d'arriver au but voulu, c'est pas par plaisir que je conteste mais j'essaye d'éxpliquer ce que je veux, je m'exprime tres mal peut etre mais j'ai pas encore obtenus le résultat voulu...
Je vous remerci quand même pour votre aide
Gyrus
Messages postés
3334
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
524
16 sept. 2013 à 10:40
16 sept. 2013 à 10:40
Bonjour,
Pourquoi cherches-tu à utiliser une macro pour reporter les formules en ligne 434 ?
Tu pourrais placer ces formules une fois pour toute dans les cellules de la ligne 434 avec les adresses des coefficients correspondant aux débits.
Exemple pour la Hmt avec un débit à 100% :
=$AI$8 *$E$434 ^ 6 + $AI$9 *$E$434^ 5 + $AI$10 *$E$434^ 4 + $AI$11 *$E$434^ 3 + $AI$12 *$E$434^ 2 + $AI$13 *$E$434^ 1 + $AI$14
A+
Pourquoi cherches-tu à utiliser une macro pour reporter les formules en ligne 434 ?
Tu pourrais placer ces formules une fois pour toute dans les cellules de la ligne 434 avec les adresses des coefficients correspondant aux débits.
Exemple pour la Hmt avec un débit à 100% :
=$AI$8 *$E$434 ^ 6 + $AI$9 *$E$434^ 5 + $AI$10 *$E$434^ 4 + $AI$11 *$E$434^ 3 + $AI$12 *$E$434^ 2 + $AI$13 *$E$434^ 1 + $AI$14
A+
Le Pingou
Messages postés
12230
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
15 janvier 2025
1 454
16 sept. 2013 à 11:04
16 sept. 2013 à 11:04
Bonjour Gyrus,
Juste en marge... !
Le l'ai déjà proposé dans un autre poste (même sujet), il n'en veux pas car une centaines de fichiers... !
Bon courage.
Salutations
Le pingou
Juste en marge... !
Le l'ai déjà proposé dans un autre poste (même sujet), il n'en veux pas car une centaines de fichiers... !
Bon courage.
Salutations
Le pingou
13 sept. 2013 à 13:46
13 sept. 2013 à 13:49
13 sept. 2013 à 14:22
Lors du collage les cellules copié contiennent des formules qui changent quand je colle!
j'explique par exemple pour la cellule (41,15) sa formule est : =0,000428321989299453*N39 ^ 6 + -0,00596830985295159*N39 ^ 5 + 0,0304432402215616*N39 ^ 4 + ...
et quand j applique la macro le N39 change mais comme je voudrai.en effet je souhaite en fait que toutes les cellule que je vais copier et coller ont le meme cellule qui va remplacer le N39 pour chaque vitesse ... je sais pas si c'est clair.
c'est a dire quand je colle la premier cellule (41.15) je veut par exemple elle devient
: =0,000428321989299453*D432 ^ 6 + -0,00596830985295159*D432^ 5 + 0,0304432402215616*D39 ^ 4 + ...
et pour la deuxieme cellule (41+43,15) la meme avec des coeff different
=0,000422926446615346*D432 ^ 6 + -0,00497724132283774*D432 ^ 5 + 0,0208181663893719*D432 ^ 4 ...
et cela pour chaque vitesse.. sachant que pour la vitesse d'apres ca sera D432 décaler de 6 colonne et pour celle d'apres decaler de 6 colonne mais sur la meme ligne 432 ...
j'espere j'étais clair
Merci d'avance