macro portant sur une zone variable

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 !

michel.dupont

XLDnaute Occasionnel
Bonjour
c'est ma première intervention...soyez donc indulgent
voilà mon souci
je travaille dans un service qui accueille des personnes souffrant de handicap mental
j'ai créé un tableau d'absence dans une feuille .A cette fin j'ai composé un tableau de 62 colonnes (31 jours matin et après midi) et de 19 lignes (le nom des personnes handicapées).Dans chaque cellule de ce tableau qui va de B6 à BK25) un code d'absence provenant d'une liste déroulante peut être encodé (ex "AM":absence médicale).
j'ai sous ce tableau un second tableau (de b35 à bl54) identique au 1er,ma macro "transpose" les codes du tableau 1 vers le tableau 2 sous forme de logos (en fait des caractères spéciaux type webdings) pour la compréhension des personnes handicapées. Pour cela ma macro fait un copier-coller sous condition de cellule qui se trouve dans une légende sur cette feuille (BL56 à BL 65) Ainsi si la cellule b6="AM" la macro va copîer et coller la cellule bl 56 dans la cellule b35.
ma macro fonctionne +- correctement sauf qu'elle réecrit à chaque ajout du tableau 1 l'ensemble vers le tableau 2.
Il conviendrait que la "transposition" ne se fasse que pour la plage de cellules selectionnées dans le tableau 1 et non pour l'ensemble
je joins mon fichier
merci de votre réponse
 

Pièces jointes

Re : macro portant sur une zone variable

Bonjour michel.dupont, et bienvenue,

Si j'ai bien compris ta demande, je te propose de modifier ta macro comme ceci:

Code:
Sub copier2()
Dim Cel As Range, Symb As Range

Application.ScreenUpdating = False
For Each Cel In Selection
  Set Symb = Feuil3.Columns(1).SpecialCells(xlCellTypeConstants).Find(Cel.Value, LookIn:=xlValues)
  If Not Symb Is Nothing Then
    Cel.Offset(29, 0).Value = Symb.Offset(0, 2).Value
    Cel.Offset(29, 0).Font.Name = Symb.Offset(0, 2).Font.Name
    Else
    Cel.Offset(29, 0).Font.Name = Cel.Font.Name
  End If
Next
Application.ScreenUpdating = True
End Sub

Cordialement.
 
Re : macro portant sur une zone variable

Merci pour ton aide papou.net
j'ai essayé ton code mais sans résultat...toutefois je me suis inspiré des premières lignes pour corriger ma macro qui fonctionne comme je l'entends....
encore merci et bonne journée
Michel
 
Re : macro portant sur une zone variable

Bonjour michel.dupont, et merci de ton retour.

C'est curieux, chez moi ça fonctionnait puisque je l'ai testé avant envoi. Ou alors je n'ai pas bien compris le sens de la question.

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
4
Affichages
957
D
  • Question Question
Réponses
3
Affichages
4 K
Retour