vba sur mise à jour de cellule

  • Initiateur de la discussion Initiateur de la discussion xdbeloug
  • 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 !

xdbeloug

XLDnaute Nouveau
Bonjour à tous,

je fais executer un code apres la mise à jour d'une cellule avec le code ci dessous
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C3:C50")) Is Nothing Then
Call Couleur
End If

tout fonctionne bien si je modifie le contenu des cellules une à une.
est-il possible de faire un copier/coller du contenu de plusieurs cellule et que le code ci dessus se fasse sur toutes les cellules mises à jours en une fois.

merci de vos reponse
beloug
 
Re : vba sur mise à jour de cellule

Bonjour
il est possible à mon avis de faire ce que tu demandes ,
je n'ai pas vu le code call couleur.
ceci dit je pense que ton problème vient sans doute du fait que tout clignote (?)
si c'est le cas tu as la possibilité d'ajouter des lignes de code pour éviter ceci:
en début de sub couleur()
Code:
application.screenupdating=false
..... instruction du bloc
application.screenupdating= true
tu peux voir aussi du coté du mode de calculation
voir Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomatic

A+
 
Re : vba sur mise à jour de cellule

Salut fhoest,

Voici le code de couleur()

Code:
Sub Couleur(val As Range, pos)
Dim i
val.Offset(0, pos) = UCase(val.Offset(0, pos))

Dim D As Object
Set D = CreateObject("scripting.dictionary")
D("T") = 3: D("A") = 5: D("C") = 10: D("G") = 1
For i = 1 To Len(val.Offset(0, pos))

    On Error Resume Next 'Si un caractère n'est pas dans le dictionnaire ;)
   val.Offset(0, pos).Characters(i, 1).Font.ColorIndex = D(UCase(val.Offset(0, pos).Characters(i, 1).Text))
    If Err Then Err.Clear
Next i
End Sub

dans le code precedent tu remplaces couleur() par Call Couleur(Target, 0)

alirs ou ca clignote un peu quand je fait les mises à jour ligne par ligne.
quand je fait coller de plusieurs lignes j'ai une erreur 'run time erreur 13' type mismatch

je vais tester tes suggestion.
merci
beloug
 
- 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
9
Affichages
405
Réponses
4
Affichages
408
Retour