VBA sos Conflit procédure avec les Si ?
Bonsoir le forum
Suis déséspérée je galére depuis + de 14h.... bord de la crise de pleurs
Sur une feuille, J'ai une procédure qui efface des plages qui entre en conflit avec des formules "Si" dans une colonne !!
Sur cette feuille J'ai déja eu le mm problème avec ces "Si" avec une autre procedure ( Résolue par le forum
Le plus simple pour m'aider serait de voir le fichier "New conflit" pour découvrir s'il y a une une solution ?
J'ai mis les fichiers suivants:
Chat mélange 1er conflit
Chat mélange modifié évite conflit.
Chat melange efface plages (new procedure seule ok)
Chat Melange les 3 ensemble
J'ai besoin de vos conseils pour
Je redoute que ces conditions "Si" perturbent la feuille et provoquent encore des conflits avec de nouvelles procédures à venir 3 ou 4 autres...
ne serait-il pas préférable de réaliser une procédure ( il s'agit de compter des 1 d'une colonne et d'incrire en regard le compte atteint au fur et à mesure)
vos conseils/infosSur le fichier les 3 ensembles j'ai voulu imbriquer les deux procédures ' (avec un indice) sans y parvenir pourtant il doit y avoir des moyens pour cela (genre go to ?) (routine) éclairez moi svp.
merci à tous ceux qui voudrons bien m'aider
Ca marchait trop bien....
Bisous à tous
Muriel
-- 31 Mai 2011, 20:53 --
re
Bonsoir
Ce serait sympa de bien vouloir nous dire ce qu'il advient de ces fils où l'on attend une réponse :
- -> https://forum.excel-pratique.com/excel/vba-deux-procedures-calculate-sur-la-mm-feuille-t23697.html
- -> https://forum.excel-pratique.com/excel/vba-n-appartient-pas-a-la-selection-t23679.html
Si le pb est solutionné merci de confirmer sur les fils et de cloturer en cliquant sur le V vert
A bientôt
Bonsoir
Bonsoir Dan
Quelle portée !!!!
Dans le programme qui bugge (je crois "Chat melange new conflit.xlsm")
remplaces le code actuel par celui-ci
Dim Ok As Boolean
Private Sub Worksheet_Calculate()
Dim Plage As String
Dim i As Integer
If Ok = True Then Exit Sub
Ok = True
i = 27
If Range("E33") = 1 Then
Do While Range("J" & i) <> ""
Plage = Range("J" & i).Value
Range(Plage).ClearContents
i = i + 1
Loop
End If
Ok = False
End Subre Banzai
Ca colle
Encore mille fois merci, je vois que tu t'es servi des mêmes instructions que pour le premier conflit j'aurai du y penser (manque d'expérience encore)
Par contre j'ai encore besoin d'aide pour réaliser l'intégration des deux procédures: Fichier s Chat mélange 3 ensembles
Dim Ok As Boolean
Private Sub Worksheet_Calculate()
Dim Plage As String
Dim i As Integer
If Ok = True Then Exit Sub
Ok = True
i = 27
If Range("E33") = 1 Then
Do While Range("J" & i) <> ""
Plage = Range("J" & i).Value
Range(Plage).ClearContents
i = i + 1
Loop
End If
Ok = False
End Sub Private Sub Worksheet_Calculate () Dim Cel As Range
If Ok = True Then Exit Sub
Ok = True
Range(Range("G30")).ClearContents
If Range("B30") <> 0 Then
For Each Cel In Range(Range("G30"))
If Application.CountA(Range(Range("G30"))) = Range("B30") Then
Ok = False
Exit Sub
End If
Cel = Int((Range("F30") * Rnd) + 1)
Next Cel
End If
Ok = False
End Sub
Encore merci
Tu m'as redonné le moral
tu es adorable
Gros bisous bis
cordialement
Muriel
Bonjour
pas sur de tout comprendre
Essayes ce code
Dim Ok As Boolean
Private Sub Worksheet_Calculate()
Dim Cel As Range
Dim Plage As String
Dim i As Integer
If Ok = True Then Exit Sub
Ok = True
Range(Range("G30")).ClearContents
If Range("B30") <> 0 Then
For Each Cel In Range(Range("G30"))
If Application.CountA(Range(Range("G30"))) = Range("B30") Then
Exit For
End If
Cel = Int((Range("F30") * Rnd) + 1)
Next Cel
End If
i = 27
If Range("E33") = 1 Then
Do While Range("J" & i) <> ""
Plage = Range("J" & i).Value
Range(Plage).ClearContents
i = i + 1
Loop
End If
Ok = False
End SubRe Banzai
C'est parfait, Merci tu es admirable, serviable, adorable..
C'est fabuleux de pouvoir être aidée par des généreux comme toi.
Grace à tes exemples j'ai compris
Il me reste à voir avec les 4 autres procédures à venir avec cette feuille.
Bisous bisous bisous tu m'as redonné le moral
Cordialement
Muriel