Comment modifier la plage utilisé par le code en renseignant une cellule

Le code est dans ThisWorkbook

thiswkbk

Autant pour moi j'étais sur l'ordi de mon travail et les macros des fichiers téléchargés étaient effacés, je ne voyais même pas la copie d'écran de ton précédent message, tout est verouillé.

Sur mon ordi perso ça fonctionne très bien, je vais étudié.

Merci bien

Super tout marche à merveille.

Auparavant dans mon ancien fichier j'avais un code dans Workbook qui me permettait de verrouiller toutes les colonnes dont la date est inférieur à J-3

Comment puis-je incorporer le code ci-dessous à l'intérieur du code actuel dans Workbook?

Option Explicit

Private Sub Workbook_Open()

Dim I As Integer

Dim mois(1 To 12) As String

Dim MP As String

Dim m As Integer

'Stop

Flag2 = 0

Flag = 1

mois(1) = "Janvier"

mois(2) = "Février"

mois(3) = "Mars"

mois(4) = "Avril"

mois(5) = "Mai"

mois(6) = "Juin"

mois(7) = "Juillet"

mois(8) = "Août"

mois(9) = "Septembre"

mois(10) = "Octobre"

mois(11) = "Novembre"

mois(12) = "Décembre"

V_mois = mois(Month(Date))

Sheets("Technique").Visible = True

Sheets("Technique").Select

MP = Worksheets("Technique").Cells(2, 1)

Sheets("Technique").Visible = False

For m = 1 To 12

Sheets(mois(m)).Select

ActiveSheet.Unprotect (MP)

For I = 3 To 13

Range(Cells(6, I), Cells(49, I)).Select

If Cells(1, I) <= Date Then

Selection.Locked = False

Selection.FormulaHidden = False

Else

Selection.Locked = True

Selection.FormulaHidden = False

End If

Next I

ActiveSheet.Protect Password:=MP, DrawingObjects:=False, Contents:=True, Scenarios:=True

Next m

Sheets(V_mois).Select

Range("A1").Select

Flag = 0

End Sub

Le mot de passe pour afficher la feuille technique est : Zoe

Le mot de passe pour déverrouiller les feuilles est: pi

Merci

Bonsoir,

Sur ce plan il n'y a rien de changé, tu peux remettre le code en place et il n'y a pas de raison que ça ne marche pas.

A+

J'ai remis le code en place, quand j'ouvre le fichier mon premier code parcours toutes mes feuilles pour verrouiller les colonnes désirées, ça fonctionne parfaitement.

Par contre si je veux renseigner le tableau, il y a un message d'erreur au début du 2ème code

"Erreur de compilation, variable non définie"

Merci

Bonjour,

Ajoutez cette déclaration à la fin de la ligne :

Dim PW$, n12h&, nCA&, nCAJ&, nCAN&, nRPM&, i%, k%, col$

A+

Merci

Mais j'ai encore un petit problème, par exemple quand je renseigne la cellule C12 par une valeur de la colonne P j'ai un message d'erreur.

ecran

Je n'ai pas d'erreur en Décembre pour cette cellule avec CA (Juste le message le nombre maximum est atteint...)

Quand tu as une erreur c'est pas interdit d'aller en débogage pour voir ce qu'il se passe et quel est la ligne en surbrillance...

A+

Je ne comprends pas j'ai retéléchargé le fichier que j'ai mis au message précédent, j'ai refait le collage d'une cellule de la colonne P sur la cellule C12 et j'ai toujours le même message d'erreur...

Voici la ligne qui bloque:

erreur

J'ai supprimé la ligne et le code marche.

Mais je souhaiterais conserver cette ligne ou une qui a la même fonction : remettre la cellule de couleur blanche car sans cette ligne dans le code la valeur est supprimée mais la couleur de fond de cellule reste.

Ou alors une fonction qui ferait un retour arrière pour retrouver la cellule comme elle était avant (couleur et valeur) le collage de la cellule de la colonne P .

Merci

Essaie de remplacer par :

Target.Interior.ColorIndex = 2

Au fait c'est quoi le message d'erreur ?

Essaie de remplacer par :

Target.Interior.ColorIndex = 2

Au fait c'est quoi ce message d'erreur ?

le message d'erreur est:

"Erreur d'exécution '1004'

Erreur définie par l'application ou par l'objet"

C'est pareil avec : Target.Interior.ColorIndex = 2 , ça ne marche pas...

Ça renvoi toujours à la même ligne

erreur

Il y a une chose étrange, pour exemple toujours dans la cellule C12 lorsque j'inscris "CA", le code fonctionne normalement pour les mois de janvier, février, mars, juillet, aout et octobre.

Par contre message d'erreur pour les autres mois.

Merci bien

Désolé, je n'ai pas d'autre idée. Mais je confirme je n'ai pas d'erreur sur cette ligne.

D'ailleurs je ne vois pas en quoi ce 1004 pourrait avoir à faire dans cette histoire !

=> change de PC !

EDIT :

Essaie d'Enregistrer ton fichier sous xlsb (Fichier... Enregistrer sous... Fichier Excel binaire

A+

xlsb

Bonjour à tous,

j'ai réussi à avoir l'errreur.

Qui s'est levée en ajoutant userinterfaceonly:=True à ActiveSheet.Protect dans la boucle des feuilles des mois de Workbook_Open()

eric

Bonjour Eriic

Oui je comprends. Comme j'enlevais systématiquement la protection évidemment je n'avais jamais d'erreur...

La ligne corrigée :

    ActiveSheet.Protect Password:=MP, UserInterfaceOnly:=True, _
      DrawingObjects:=False, Contents:=True, Scenarios:=True

Super!!

Le message d'erreur n'est plus là.

Tout à l'air de fonctionner.

Merci pour votre aide

Rechercher des sujets similaires à "comment modifier plage utilise code renseignant"