Copier/coller zone de texte par VBA

Marboi

XLDnaute Occasionnel
Bonsoir à tous,

Je souhaitais savoir s'il est possible de copier/coller une zone de texte définie dans un endroit d'une feuille par soit une liste déroulante, soit des boutons.

Je m'explique : j'ai un document en réseau que plusieurs agences doivent utiliser et modifier leur entité (il n'est pas possible de créer autant de document qu'il n'y a d'agences ; trop lourd !). Je me demandais donc, si par un simple clic, il était possible de copier une des zones de textes qui se trouverait sur la feuille et qui irait remplacer celle existante à un endroit définit de la feuille (cf fichier).

Merci d'avance.

PS : j'ai écris ce message dans l'après-midi et à priori il n'a pas été pris en compte.
 

Pièces jointes

  • zone de texte1.xlsm
    15.5 KB · Affichages: 133

laurent950

XLDnaute Accro
Re : Copier/coller zone de texte par VBA

Bonsoir,

Je m'explique : j'ai un document en réseau que plusieurs agences doivent utiliser :
- (C’est à dire un document modèle de référence)

Et modifier leur entité (il n'est pas possible de créer autant de document qu'il n'y a d'agences ; trop lourd !).
- (C’est à dire que chaque agence doivent avoir se document et travailler avec et le modifier ? pour leur document de travail ?)

Je me demandais donc, si par un simple clic, il était possible de copier une des zones de textes qui se trouverait sur la feuille :
- Qu'elle feuille, qu'elle fichier ?

Et qui irait remplacer celle existante à un endroit définit de la feuille (cf fichier) :
- C'est à dire ?

Pour résumer :
Vous avez un document modèle pour le groupe que chaque agence doit utiliser.
Chaque agence a sa clientèle
Vous souhaité écrire ou faire un document type a l'ensemble de l'entreprise.
Donc a partir d'une adresse (toujours avec la même mise en forme)
Vous voulais recrée une étique à côté de votre logo (est cela pour chaque entreprise)

Peut être chaque agence peux a partir du fichier modèle avoir une copie sue leur poste a un endroit donné
De leur disk dur.
La macro intégrer (dans le document crée automatiquement)
A partir de leur adresse (a organiser individuellement ou en réseau) toujours liée au fichier modèle (voir avec la macro le code)
Choix de l'adresse = étiquette et hop la macro reconstitué l'étiquette.

C’est très réalisable mais il faut bien penser a une vrais méthodes en fonction de votre réseau droit d'accès et partage des donnée

Laurent
 
Dernière édition:

Marboi

XLDnaute Occasionnel
Re : Copier/coller zone de texte par VBA

Merci de votre réponse,

Le document en question est unique et ne peux être mis sur chaque machine, les droits réseaux sont ouverts. Le document, une fois établi, est sauvegardé par un numéro d'incrémentation sur le réseau ou chaque agence peut l'ouvrir et vérifier.

L'exemple que j'ai mis, intègre pour l'instant 3 entités qui seraient disposés en bas de page sur le document en question (ce document a une zone d'impression défini) ou sur une autre feuille du classeur (peu importe).
En fonction du choix de l'entité par l'agence, un clic dans un menu déroulant avec les agences ou sur un bouton qui précise chaque agence, ferait que l'entité choisie remplacerait celle existante sur le document, au même endroit (en haut et à côté du logo).

Je sais faire avec les copier/coller cellules, mais il s'avère que la zone de texte est plus pratique ; en effet, si c'était avec un copier/coller cellules, il faudrait repenser le document entièrement pour laisser de la place à côté du logo avec le nombre de cellules/colonnes/lignes correspondantes au nombre de lignes de l'entité.

Merci
 

mutzik

XLDnaute Barbatruc
Re : Copier/coller zone de texte par VBA

bonjour

oui c'est faisable
1. nommer les zones de textes
2. utiliser l'enregistreur de macros et voir les résultats

mais, je n'aurai absolument pas fait de cette manière, on peut très bien y arriver avec une base sur une autre feuille et choisir l'entité dans la feuille 1
 

mutzik

XLDnaute Barbatruc
Re : Copier/coller zone de texte par VBA

re,

cela se fait avec recherchev
ci-joint un exemple que tu pourras adapter à ton besoin
 

Pièces jointes

  • xld.xlsx
    8.8 KB · Affichages: 199
  • xld.xlsx
    8.8 KB · Affichages: 216
  • xld.xlsx
    8.8 KB · Affichages: 222

Marboi

XLDnaute Occasionnel
Re : Copier/coller zone de texte par VBA

Oui effectivement, mais comme je l'indique plus haut, le fait de mettre l'entité sur plusieurs lignes, fait qu'il faut remodeler le tableau complet ; c'est pourquoi c'est une zone texte qui est insérée à côté du logo.
 

Marboi

XLDnaute Occasionnel
Re : Copier/coller zone de texte par VBA

Merci Fo_rum,

C'est exactement ce que je voulais.

Peux-tu m'expliquer ta macro ?

Sub commun(n As Byte)
Dim Sh As Shape
For Each Sh In ActiveSheet.Shapes
If Sh.Name = "Texte 0" Then Sh.Delete
Next
ActiveSheet.Shapes("Texte " & n).Copy
Range("B1").Select
ActiveSheet.Paste
Selection.Name = "Texte 0"
[F1].Select
End Sub

Je peux mettre autant de zones de texte en modifiant la macro ?
 

Fo_rum

XLDnaute Accro
Re : Copier/coller zone de texte par VBA

Bonjour,

avec des explications.
On peut copier autant de zones que nécessaire mais à condition de les renommer, ici, de la même façon : Texte n et sans sans changer la procédure commune !
 

Pièces jointes

  • CopierZoneDeTexte.xls
    76 KB · Affichages: 236
  • CopierZoneDeTexte.xls
    76 KB · Affichages: 236
  • CopierZoneDeTexte.xls
    76 KB · Affichages: 243

Marboi

XLDnaute Occasionnel
Re : Copier/coller zone de texte par VBA

Merci beaucoup Fo_Rum,

Ça fonctionne à merveille et tes explications sont les bienvenues (je n'avais pas tout compris !).

Par contre MJ13, module de classe, là je suis un peu largué. Mais j'attends avec impatience la suite qui pourrait être donnée.

De la même manière, est-ce qu'une USF pourrait être utilisée pour faire appel à ces zone de texte : USF show au démarrage et zone de liste pour le choix de l'entité ?
 

Fo_rum

XLDnaute Accro
Re : Copier/coller zone de texte par VBA

Bonsoir,

appel par un UsF.

@ MJ13 : un Module de Classe serait intéressant, ici, à condition d'avoir les zones dans l'UsF :) !

@ 00 : merci et au plaisir de te croiser à nouveau :D :) ;) !
 

Pièces jointes

  • UsFCopieDeZoneDeTexte.xls
    48 KB · Affichages: 160

Discussions similaires

Réponses
5
Affichages
136

Statistiques des forums

Discussions
312 112
Messages
2 085 411
Membres
102 885
dernier inscrit
AISSOU