Copier Coller, l'équivalant du $ en VBS

Aquhydro

XLDnaute Nouveau
Bonjour,
je voudrais juste savoir quelle formule il fallait employer en VBS pour, par exemple, copier la case S14 en A12, puis supprimer la ligne S, pour que la case T14 se retrouve en S14 et qu'a la réutilisation de mon script, ça soit la case S14 qui soit de nouveau copiée coller, et toujours en A12. A l'heure actuelle, le copier coller ne marche que pour la première fois, et après les cellules copiées deviennent un peu n'importe lesquels, y a t'il un équivalant au $S$14 de Excel qui permet de fixer la valeur comme étant, quoi qu'il se passe dans la forme du tableau, la valeur de la case S14?

Merci beaucoup...

Aquhydro
 

Aquhydro

XLDnaute Nouveau
Re : Copier Coller, l'équivalant du $ en VBS

Bonjour tototiti2008,

Vu que je ne connais pas bien le VBA (la preuve que je le connais mal est que je pensait que VBS signifiait Visual Basic Script, et que VBA était autre chose, alors que c'est l'inverse), voila une petite partie de mon code, et sinon, non, mon VBS ne lance pas excel et n'ouvre pas mon classe, j'ai un seul classeur, déjà ouvert, dans ce classeur, comme expliqué, je veux copier coller (en boucle, d'ou l'utilisation d'un VBS) des cellules d'un endroit à un autre, puis supprimer la ligne pour la premier endroit et recopier coller automatiquement les nouvelles cellules au même endroit que précedement.

Pour mes lignes de copie les voila:

Application.CutCopyMode = False
Selection.Copy
Range("C4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AB1501").Select
Application.CutCopyMode = False
Selection.Copy
Range("H15").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AC1501").Select
Application.CutCopyMode = False
Selection.Copy
Range("AH9").Select
ActiveSheet.Paste
Range("AD1501").Select
Application.CutCopyMode = False
Selection.Copy
Range("H16").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I16").Select

Range("AE1501").Select
Application.CutCopyMode = False
Selection.Copy
Columns("AE:AE").ColumnWidth = 8.57
ActiveWindow.LargeScroll ToRight:=-1
Range("H18").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("AP1436:AP1437").Select
Range("AP1437").Activate
ActiveWindow.SmallScroll Down:=99
Range("AF1501").Select
Application.CutCopyMode = False
Selection.Copy

Range("H9").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Elles ont été obtenues basiquement avec l'utilisation de la création de macro de excel, donc sont certainement pas très jolies...
 

tototiti2008

XLDnaute Barbatruc
Re : Copier Coller, l'équivalant du $ en VBS

Re,

VBS signifie bien Visual Basic Script, mais on ne code pas en VBS dans Excel ou les application Office
Le langage des applications Office est VBA, VBS est utilisé dans des fichiers de script (fichier texte avec l'extension .vbs en général)
Donc, ton code est du VBA car directement dans Excel.
Sinon, sans regarder dans le détail, ton code copie et colle des cellules, il faudrait déjà que tu sélectionnes la première cellule à copier avant le premier "Copy", car en l'état la première copie se fait sur la sélection active
Sinon, c'est optimisable comme code, comme tous les codes de l'enregistreur de macro, dis-nous si tu veux une version allégée du code, mais il devrait fonctionner
 

Aquhydro

XLDnaute Nouveau
Re : Copier Coller, l'équivalant du $ en VBS

Bha l'idéal serait, si tu pouvais, me donner le code type, allégé, pour copier coller de telle cellule à telle autre. Si j'ai bien compris il faut que la partie de script commence également avec une commande pour selectionner la premier cellule, peut tu l'intégrer à tes explications?

Merci beaucoup.
 

tototiti2008

XLDnaute Barbatruc
Re : Copier Coller, l'équivalant du $ en VBS

Re,

Voilà le code type pour un copier coller de AB1501 à H15

Code:
Range("AB1501").Copy
Range("H15").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
'Tout à la fin de tous les copier coller
Application.CutCopyMode = False
 

Staple1600

XLDnaute Barbatruc
Re : Copier Coller, l'équivalant du $ en VBS

Bonjour à tous

Aquhydro
Si il s'agit de copier les valeurs seules*, tu peux aussi simplement écrire:
Range("H15").Value=Range("AB1501").Value

*: ce qui semble être le cas au vu de ton code VBA initial.

PS: Si tu joignais un fichier exemple, on pourrait tester concrètement nos macros avant de te les proposer.
 
Dernière édition:

Aquhydro

XLDnaute Nouveau
Re : Copier Coller, l'équivalant du $ en VBS

Merci Staple,

Je me suis débrouillé pour que mes données ne soient déjà plus des opérations mais uniquement des valeurs, donc tout va bien de ce coté là, mais merci pour la formule, je note.

Ce dont j'aurais besoin à présent est la chose suivante : j'ai 2 tableau de 6 colones et 6 lignes, comment supprimer les cases de la seconde ligne du second tableau sans supprimer celles de la seconde ligne du premier tableau, mais en décalant vers le haut d'une valeur chaque case.
Je n'arrive pas a poster un document sur le forum, comme faire?
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Copier Coller, l'équivalant du $ en VBS

Bonjour à tous,

voir fichier joint (pour la question posée au post#9)

à+
Philippe
 

Pièces jointes

  • 111.xls
    45 KB · Affichages: 59
  • 111.xls
    45 KB · Affichages: 62
  • 111.xls
    45 KB · Affichages: 69

Discussions similaires

Statistiques des forums

Discussions
312 565
Messages
2 089 729
Membres
104 266
dernier inscrit
christian Auletta