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

vba - Copier uniquement les valeur (sans la mise en forme des cellules)

  • Initiateur de la discussion Initiateur de la discussion kohta
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kohta

XLDnaute Occasionnel
Bonjour,
j'ai un usf qui copie une plage de données renseignée dans une plage de données "destination".

Cependant, je ne parviens pas à indiquer à ma petite macro de ne copier que les valeurs renseignées, sans copier par la même occasion la couleur de fond de cellule, les bordures, la taille ect...

Quelqu'un aurait-il une idée?

Merci

🙂Cordialement🙂
 
Re : vba - Copier uniquement les valeur (sans la mise en forme des cellules)

Bonjour,
plutôt que copier (.Copy), tu mets une égalité :

Code:
[E1] = [A1]

par exemple. Ici, la cellule E1 prend la valeur de A1, sans la taille, la couleur....
 
Re : vba - Copier uniquement les valeur (sans la mise en forme des cellules)

Ok, merci beaucoup, je vais essayer.

Cependant, à l'origine, la copie est effectué suite au Quand_Clic d'un bouton.
Puis-je utiliser ta méthode dans ce cas?

Cordialement
 
Re : vba - Copier uniquement les valeur (sans la mise en forme des cellules)

Cela ne fonctionne pas 🙁
Et je viens de me rendre compte qu'il y a aussi une formule (provenant de la plage source) qui ne doit absolument pas être copiée...

j'essaye déséspérément de trouver un argument dans vba permettant de transcrire uniquement les valeurs...

Merci de ton aide en tout cas, et si jamais tu as une autre idée...
 
Re : vba - Copier uniquement les valeur (sans la mise en forme des cellules)

Re-,
justement, le fait de mettre sous la forme :

Code:
[B1].value = [A1].value

ne fait que "copier" le résultat, et non la formule

Pour voir un peu plus, peux-tu joindre un fichier exemple, exempt de toutes données confidentielles?
 
Re : vba - Copier uniquement les valeur (sans la mise en forme des cellules)

Pas de problème.

En p.j un petit document "exemple" de ce que j'ai de mon coté...
 

Pièces jointes

Re : vba - Copier uniquement les valeur (sans la mise en forme des cellules)

Re-,
essaie avec ceci :


Code:
    Range(Cells(4, ComboBox1.ListIndex + 4), Cells(9, ComboBox1.ListIndex + 4)).Value = Range("C4:C9").Value
 
Re : vba - Copier uniquement les valeur (sans la mise en forme des cellules)

😎
Merci beaucoup, cela semble fonctionner à merveille.😀

J'ai cependant quelque problèmes pour interpréter la ligne de code que tu m'a fournie.😕

Est-ce que tu saurais m'expliquer de manière simplifiée cette ligne de code, afin que je puisse la transcrire sur mon document réel?

Merci encore
 
Re : vba - Copier uniquement les valeur (sans la mise en forme des cellules)

Re-,

range(cells(1,1),cells(5,5)) équivaut à range("A1:E5")
Range(Cells(4, ComboBox1.ListIndex + 4), : ici, on sélectionne la première cellule qui nous intéresse (en fonction de la valeur du combobox), en ligne 4

Cells(9, ComboBox1.ListIndex + 4)).Value : ici la deuxième, en ligne 9

= Range("C4:C9").Value on "copie" les valeurs de cette zone

En gros, si ton combobox est Semaine 1, cela correspondrait à :

Range(cells(4,4),cells(9,4)) soit range("D4😀9")
 
Re : vba - protéger feuille, accès unique via usf

Merci beaucoup, j'ai réussi à tout "transcrire" à ma sauce.

En revanche, je souhaite protèger à la modification ma feuille, pour que seule l'usf soit capable d'inscrire des données dedans.

Comment dois-je procéder?
 
Re : vba - Copier uniquement les valeur (sans la mise en forme des cellules)

Merci de ta rapidité, je vais tester cette solution.

En revanche, un problème est apparu sur mon document, alors que cela fonctionnait hier.

Comme tu le sais, je souhaite protéger ma feuille de "données", cela implique donc un CommandButton de lancement de l'Usf "démarrer" sur une autre feuille.

J'ai donc utilisé ta ligne de code:
Code:
Range(Cells(4, ComboBox1.ListIndex + 4), Cells(9, ComboBox1.ListIndex + 4)).Value = Range("C4:C9").Value

et j'ai ajouté Sheets("nom_de_la_feuille_données").
avant chaque instruction "range" de la ligne de code, pour que la copie en question se fasse bien sur ma feuille "données" et non sur la feuille d'où j'ai lancé l'usf.

Cela ne fonctionne pas!
Comment puis-je indiquer cela de manière correcte?

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
1 K
Réponses
6
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…