Problème codes vba
Résolu
jean300
Messages postés
374
Date d'inscription
Statut
Membre
Dernière intervention
-
jean300 Messages postés 374 Date d'inscription Statut Membre Dernière intervention -
jean300 Messages postés 374 Date d'inscription Statut Membre Dernière intervention -
Bonjour à vous tous,
Je tourne en rond avec ces codes qui pris individuellement (F8) semblent bon, mais ne fonctionne pas en automatique.
Je vous remercie de bien vouloir me corriger.
ps : Je ne suis pas l'auteur de ces codes.
En vous remerciant.
Je tourne en rond avec ces codes qui pris individuellement (F8) semblent bon, mais ne fonctionne pas en automatique.
Je vous remercie de bien vouloir me corriger.
ps : Je ne suis pas l'auteur de ces codes.
En vous remerciant.
Private Sub Worksheet_Change(ByVal Target As Range) Dim tx, i% tx = Target.Value Application.EnableEvents = False Application.ScreenUpdating = False Select Case Target.Address(False, False) Case "Mf" Btn_MajBase.Visible = (UCase(tx) = "V") Btn_ValiderSaisie.Visible = Not (UCase(tx) = "V") Case "A29", "A34", "A37", "S10", "S18", "S21", "S34" Target = UCase(Left(tx, 1)) & LCase(Mid(tx, 2)) Case "A4", "K7", "G24" Target = UCase(tx) Case "K4" tx = Split("-" & tx, "-") For i = 1 To UBound(tx) tx(i) = StrConv(tx(i), vbProperCase) Next i Target = Replace(Join(tx, "-"), "-", "", 1, 1) End Select Application.EnableEvents = True Application.ScreenUpdating = True Call CfnChoix End Sub
Sub CfnChoix() 'TEST 1 Range("AA2").Value = "" If MsgBox("Supprimer cette personne de l'annuaire ?", vbYesNo) = vbYes And MsgBox("Cette personne sera supprimée de l'annuaire !", vbYesNo) = vbYes Then Range("AA2").Value = "Sup" Else Range("AA2").Value = "Maj" End If CfnMsgBox End Sub
Sub CfnMsgBox() ‘TEST 2 COULEUR = IIf([AA2] = "Sup", vbRed, vbBlack): EPAISSEUR = IIf([AA2] = "Sup", xlThick, xlThin) With Range("A3:I4,K3:Q4") For Each BORDURE In Array(xlEdgeLeft, xlEdgeTop, xlEdgeBottom, xlEdgeRight) With .Borders(BORDURE): .LineStyle = xlContinuous: .Weight = EPAISSEUR: .Color = COULEUR: End With Next BORDURE For Each BORDURE In Array(xlDiagonalDown, xlDiagonalUp, xlInsideVertical, xlInsideHorizontal) .Borders(BORDURE).LineStyle = xlNone Next BORDURE End With: [S4].Select End Sub
Configuration: Windows / Firefox 70.0
A voir également:
- Problème codes vba
- Les codes ascii - Guide
- Spotify codes - Guide
- Excel compter cellule couleur sans vba - Guide
- Codes secrets pour débloquer tous téléphones mobiles - Guide
- Codes gta - Guide
4 réponses
Bonjour,
En quoi cela ne fonctionne t'il pas ?
Sans avoir d'explication détaillée du souci rencontré ni le fichier à disposition il sera difficile à quiconque de pouvoir t'aider.
En quoi cela ne fonctionne t'il pas ?
Sans avoir d'explication détaillée du souci rencontré ni le fichier à disposition il sera difficile à quiconque de pouvoir t'aider.
Voici le fichier en te remerciant
https://www.cjoint.com/c/IJBth3Dyzcr
https://www.cjoint.com/c/IJBth3Dyzcr
Tu as une macro qui se déclenche lorsque le contenu de la feuille change....
puis tu exécute la ligne de code
donc ben le contenu de la feuille change...
Normal que ça boucle...
Il faut désactiver l'event dans chaque sub
puis tu exécute la ligne de code
Range("AA2").Value = ""
donc ben le contenu de la feuille change...
Normal que ça boucle...
Il faut désactiver l'event dans chaque sub
Sub CfnChoix() ' Call Dpwd ' VOIR MODULE ACTION 'LA CA NE DOIT S'EXCUTER QU'UNE SEULE FOIS Application.EnableEvents = False 'la suite de ton code...