Problème codes vba
Résolu
jean300
Messages postés
382
Statut
Membre
-
jean300 Messages postés 382 Statut Membre -
jean300 Messages postés 382 Statut Membre -
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
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.
-
-
Voici le fichier en te remerciant
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 codeRange("AA2").Value = ""
donc ben le contenu de la feuille change...
Normal que ça boucle...
Il faut désactiver l'event dans chaque subSub CfnChoix() ' Call Dpwd ' VOIR MODULE ACTION 'LA CA NE DOIT S'EXCUTER QU'UNE SEULE FOIS Application.EnableEvents = False 'la suite de ton code...
-
-
JE te remercie jordane ça faisait près de trois semaines que je me triturais le cerveau
Au plaisir de te retrouver une autre fois