Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier coller dans la première case vide d'une colonne (macro)

Xtoff06

XLDnaute Nouveau
Bonjour,

J'aurai besoin d'aide svp
Malgré mes recherches je n'ai pas réussi à faire se que je voudrai

je suis novice en Excel et encore plus en Macro

J'aimerai faire une macro pour,
Copier la valeur, et non la formule, de la cellule "B30" de la "feuil2"
et la coller dans la première cellule vide de la colonne "i"de la "Feuil1"

et ensuite est il possible de faire la même chose, avec d'autre cellule bien sur, dans la même macro (que je vais attribuer a un bouton) ?

Merci beaucoup

PS: Je suis sur MacBook
 

patricktoulon

XLDnaute Barbatruc
re
ben si tu attribut test a ton bouton quand tu appelle test tu appelle 3 fois copievers ça doit fonctionner
et reste dans le même acabit de codage tout aux long de ta macro
Feuil2.[C4:C9,C12:C16,D1921].ClearContents
 

Xtoff06

XLDnaute Nouveau
je sais pas pourquoi mais le code que j'ai mis juste au dessus ne fonctionne pas
il me met une erreur d'exécution 424
quand je clic debogeur il met en jaune la 1ere ligne après Sub test()

du coup j'utilise celle ci qui fonctionne très bien (c'est pas grave ça m'ira pour ce que je veut faire)
et qui au passage rempli bien une case vide au milieu de la colonne si il y en a une

VB:
Sub Reset()
    LMax = Sheets("Ticket Z").Range("I1").End(xlDown).Row + 1
    Valeur = Sheets("Caisse").Range("B30").Value
    Sheets("Ticket Z").Range("I" & LMax) = Valeur
    
     LMax = Sheets("Ticket Z").Range("H1").End(xlDown).Row + 1
    Valeur = Sheets("Caisse").Range("D30").Value
    Sheets("Ticket Z").Range("H" & LMax) = Valeur
    
       LMax = Sheets("Ticket Z").Range("F1").End(xlDown).Row + 1
    Valeur = Sheets("Caisse").Range("D22").Value
    Sheets("Ticket Z").Range("F" & LMax) = Valeur
    
    Sheets("Caisse").Range("C4:C9,C12:C16,D19:D21").ClearContents

End Sub

Merci beaucoup a tous pour l'aide
 

Xtoff06

XLDnaute Nouveau
ah oui dernière question
comment faire pour bloquer la feuil2 (Caisse)
et faire qu'on ne puissent écrire que dans certaines cases ( C4:C9,C12:C16,D19: D21 )
et ne pas modifier les autres
merci
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

J'ai vu de la lumière, alors j'ai entrebaillé la porte
VB:
Sub FaitCeQuiEstEcrit()
Feuil1.Cells(Rows.Count, "I").End(3)(2) = Feuil2.[B30]
End Sub
C'est donc une macro qui fait ce qu'on lit dans le message#1
Copier la valeur, et non la formule, de la cellule "B30" de la "feuil2"
et la coller dans la première cellule vide de la colonne "i"de la "Feuil1"

PS: J'arrive un peu tard. Mais c'est point grave.
 

Xtoff06

XLDnaute Nouveau
Je vien de tester ce code
VB:
Sub CopieEtReset()
Feuil1.Cells(Rows.Count, "I").End(3)(2) = Feuil2.[B30]
Feuil1.Cells(Rows.Count, "H").End(3)(2) = Feuil2.[D30]
Feuil1.Cells(Rows.Count, "F").End(3)(2) = Feuil2.[D22]
Sheets("Caisse").Range("C4:C9,C12:C16,D19:D21").ClearContents
End Sub
Et ça ne fonctionne pas
ça ouvre une fenêtre d'erreur
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…