Limites
| |
Nombres de colonnes dans une feuille
|
16 384
|
Nombres de lignes dans une feuille
|
1 048 576
|
Largeur des colonnes
|
255 caractères
|
Hauteur des lignes
|
409 points
|
Nombre maximal de caractères par cellule
|
32 767 caractères
|
Nombre maximal de caractères dans un en-tête ou un pied de page
|
255 caractères
|
Nombre maximal de feuilles par classeur
|
255
|
Nombre d’annulation possible
|
100
|
Champs dans un formulaire de données
|
32
|
Précision numérique
|
15 chiffres
|
Longueur du contenu des formules
|
8 192 caractères
|
Nombre maximal d'arguments dans une fonction
|
255
|
nombre maximal de fonctions imbriquées
|
64
|
Nombre des fonctions de calcul disponibles
|
341
|
Date de départ pour les calculs
|
1er janvier 1900
|
Les limites
jeudi25juin
- 1 – Protection du classeur : Pour protéger un classeur, passez la commande : Révision / Protéger le classeur et activez l’option Protéger la structures et les fenêtres. Excel vous demande de choisir les éléments à protéger :
- Structure : Empêchera l’ajout, la suppression, le déplacement…des feuilles dans le classeur.
- Fenêtre : Empêchera le redimensionnement, la fermeture, la mise en icône, le fractionnement…des fenêtres.
de rentrer votre mot de passe, et de valider
- 2 – Protection de la feuille : Pour protéger la feuille de calcul vous devez au préalable avoir ôté la propriété verrouillée à toutes les cellules auxquelles vous souhaitez donner l’accès à l’aide de la commande Accueil / Police / Protection. Ensuite passez la commande Révision / Protéger la feuille.
- Entrez un mot de passe
- Définissez les actions que vous autorisez dans les cellules que vous avez déverrouillées
- Cliquez sur OK.
- Confirmez votre mot de passe et cliquez sur OK.
Attention !
- Une erreur fréquente est la contradiction entre vos choix et les actions que doivent accomplir vos macros. Exemple : Si vous demandez à une macro de trier des cellules déverrouillées vous devez évidement avoir autorisé le tri comme action possible.
- Vos objets de formulaires étant verrouillés par défaut, ils seront automatiquement protégés lors de l’activation de la protection de la feuille
-> Pour ôter la protection faites Révision / Ôter la protection de la feuille (il vous faudra évidement saisir votre mot de passe)
- 3 – Protection du projet VB : Pour protéger votre projet VB et interdire l’accès aux codes et autres UserForm, accédez à votre éditeur Visual Basic ALT + F11 ou développeur / Visual Basic.
Dans le panneau VBAProject, faites clic droit sur votre projet et choisissez la commande Propriétés de VBAProject…
- Cochez l’option Verrouiller le projet pour affichage
- Entrez et confirmer un mot de passe
- Cliquez sur Ok
- Fermez le classeur et rouvrez-le.
-> Pour ôter la protection faites Propriétés de VBAProject…, décochez l’option Verrouiller le projet pour affichage et effacer les mots de passe (il vous faudra évidement saisir votre mot de passe)
L’un des lecteurs (Jean-Noël) de ce modeste blog (qu’il en soit remercié) me demande une précision au sujet de l’article « Supprimer des lignes en fonction d’une valeur contenue dans un champ ». En effet, il souhaiterai pouvoir effacer les lignes non pas en fonction d’une correspondance exacte de la valeur du champ mais simplement si la valeur se trouve dans l’expression globale de ce champ. J’ai donc modifié quelque peu mon code…
- 1 – Considérons ici la liste (A1 :E24), je souhaite supprimer toutes les lignes pour lesquels l’éditeur contient le mot Microsoft.
- 2 – Voici à quoi pourrait ressembler le code, à vous de l’adapter ! J’ai également récupérer le nombre de lignes effacées
Sub DelEditeur3()
Dim i As Integer
Dim lig As Integer
Dim Editeur As String
lig = 0
Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "Welcome", "Microsoft")
'La valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("Feuil1")
For i = .Range("C" & .Rows.Count).End(xlUp).Row To 2 Step -1
If InStr(.Range("C" & i).Value, Editeur) <> 0 Then
'la fonction InStr(chaîne1, chaîne2) permet de vérifier la présence de chaîne2 dans
‘chaîne1'et retourne l'occurrence de la première position de la comparaison donc pas 0
‘si chaîne2 est présente dans chaîne1
Rows(i).Delete
lig = lig + 1
'Comptons les lignes effacées
End If
Next i
MsgBox "J'ai effacer " & lig & " ligne(s) contenant l'expression : " _
& Editeur, vbOKOnly + vbInformation, "INFORMATION"
'Affichons le nombre de lignes effacées
End With
End Sub
- 3 – Et voici le résultat après exécution de la procédure DelEditeur3()…

Dim i As Integer
Dim lig As Integer
Dim Editeur As String
lig = 0
Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "Welcome", "Microsoft")
'La valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("Feuil1")
For i = .Range("C" & .Rows.Count).End(xlUp).Row To 2 Step -1
If InStr(.Range("C" & i).Value, Editeur) <> 0 Then
'la fonction InStr(chaîne1, chaîne2) permet de vérifier la présence de chaîne2 dans
‘chaîne1'et retourne l'occurrence de la première position de la comparaison donc pas 0
‘si chaîne2 est présente dans chaîne1
Rows(i).Delete
lig = lig + 1
'Comptons les lignes effacées
End If
Next i
MsgBox "J'ai effacer " & lig & " ligne(s) contenant l'expression : " _
& Editeur, vbOKOnly + vbInformation, "INFORMATION"
'Affichons le nombre de lignes effacées
End With
End Sub
- 3 – Et voici le résultat après exécution de la procédure DelEditeur3()…

VBA : Créer une macro multi feuilles
lundi1juin

- 1 – Ouvrir une nouvelle feuille de calcul dans Excel et passez la commande Développeur / Enregistrer une macro
- Attribuer un nom de la macro
- Choisissez éventuellement une Touche de raccourci pour son Exécution clavier
- Choisissez impérativement l’option Classeur de macros personnelles dans la liste Enregistrer la macro dans :
- Cliquez sur Ok
Automatiquement le code enregistré ira se copier dans une feuille de module de code du projet PERSONNAL.XLSB
- 3 – Pour voir le code de votre macro faites ALT + F11 ou Développeur / Visual Basic. Le code se trouve bien dans une feuille de module de code du projet PERSONAL.XLSB.
' Impression_3_EX Macro
ExecuteExcel4Macro "PRINT(1,,,3,,,,,,,,2,,,TRUE,,FALSE)"
End Sub
- Faites clic / droit sur la barre d’outils Accès rapide
- Choisissez l’option Personnaliser la barre d’outils Accès rapide

- Dans la liste des catégories de commande, choisissez Macros
- Sélectionnez la macro dans la liste et cliquez sur le bouton Ajouter >>, la macro apparaît dans la liste de droite
- Cliquez sur le bouton Modifier… pour sélectionner un autre symbole

- Ciquez sur le bouton Ok puis à nouveau sur Ok