ShuarS
XLDnaute Occasionnel
Bonjour,
Pourriez-vous m’aider à réaliser un code VBA pour le fichier joint svp ?
Pour faire simple, voici ce que j’essaie de faire :
- Toutes les cellules bloquées en écriture avec mdp pour modification
- Si Bx = non vide alors Cx:TZx libre en écriture avec des chiffres uniquement sans mdp
L’idée est de construire un fichier « de base » sur lequel les colonnes A et B seraient vides.
Après un copier-coller de ces mêmes colonnes, le lancement de la macro réaliserait les étapes suivantes :
- Extension de la mise en forme de la colonne B sur toutes les colonnes à droite de celle-ci ;
- Blocage des cellules avec mdp ;
- Ouvrir l’accès en écriture (chiffre uniquement) de toutes les lignes (de C à TZ par ex) si la cellule de B est non vide.
J’ai déjà une macro pour reproduire ma mise en forme de la colonne B sur les colonnes C à TZ :
J'ai un bout de code pour identifier les cellules non vides en colonne B puisque celles ci peuvent être variable d'un copier-coller à un autre.
Seulement pour le moment je ne sais pas écrire le code pour traiter les lignes entières.
Si une âme charitable passe par ici pour m'aider je suis preneur
Merci de votre aide,
Shu
Pourriez-vous m’aider à réaliser un code VBA pour le fichier joint svp ?
Pour faire simple, voici ce que j’essaie de faire :
- Toutes les cellules bloquées en écriture avec mdp pour modification
- Si Bx = non vide alors Cx:TZx libre en écriture avec des chiffres uniquement sans mdp
L’idée est de construire un fichier « de base » sur lequel les colonnes A et B seraient vides.
Après un copier-coller de ces mêmes colonnes, le lancement de la macro réaliserait les étapes suivantes :
- Extension de la mise en forme de la colonne B sur toutes les colonnes à droite de celle-ci ;
- Blocage des cellules avec mdp ;
- Ouvrir l’accès en écriture (chiffre uniquement) de toutes les lignes (de C à TZ par ex) si la cellule de B est non vide.
J’ai déjà une macro pour reproduire ma mise en forme de la colonne B sur les colonnes C à TZ :
VB:
Sub test()
With Worksheets("Feuil1")
.Range("B2:B50").Copy
.Range("C2:TZ50").PasteSpecial xlPasteFormats
End With
Application.CutCopyMode = False
End Sub
J'ai un bout de code pour identifier les cellules non vides en colonne B puisque celles ci peuvent être variable d'un copier-coller à un autre.
Code:
Sub testnonvide()
For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
If Not IsEmpty(Range("B" & i)) Then Range("C" & i) = ""
Next
End Sub
Seulement pour le moment je ne sais pas écrire le code pour traiter les lignes entières.
Si une âme charitable passe par ici pour m'aider je suis preneur
Merci de votre aide,
Shu
Pièces jointes
Dernière édition: