Microsoft 365 Explication d'un code

pbfonjouom

XLDnaute Nouveau
Bonjour à tous, vous allez bien j'espère.
juste une question, serrait-il possible de m'expliquer ces code VB, surtout le role du chiffre 9 à la troisième ligne du premier code.

VB:
Sub impri()
For n = 1 To Sheets.Count
If Left(Sheets(n).Name, 9) = 'Nom_" Then
Sheets(n).PrintOut
End If
Next
End Sub
Code:
Sub suppri()
nb = Sheets.Count
For x = 1 To nb - 3
Application.DisplayAlerts = False
Sheets("NOMP_" & x).Delete
Application.DisplayAlerts = True
Next
End Sub

Merci d'avance pour le temps que vous m'accorderez ;)
 

Lolote83

XLDnaute Barbatruc
Salut,
La fonction left renvoie la partie gauche d'une chaine de caractère sur le nombre de caractères spécifiés

Voir ici https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/left-function
Exemple :
VB:
    Dim LaChaine, Reponse
    
    LaChaine = "Bonjour pbfonjouom"
    
    Reponse = Left(LaChaine, 1)   ' Reponse = B
    
    Reponse = Left(LaChaine, 7)   ' Reponse = Bonjour
    
    Reponse = Left(LaChaine, 14)  ' Reponse = Bonjour pbfonj
    
    Reponse = Left(LaChaine, 25)  ' Reponse = Bonjour pbfonjouom
@+ Lolote83
 

pbfonjouom

XLDnaute Nouveau
Merci à vous pour vos explications. une autre préoccupation s'il vous plait.
j'ai une variable déclarée dans mon code "NOMP" qui attribut à chaque nouvelle feuille de calcul un nom qui correspond au nom contenu dans ma BD(première feuille de calcul)
donc je crains qu'il y ait quelque chose qui m'échappe car l'action d'imprimer automatiquement chaque pages du style "NOMP_" que j'attends du code n'est pas efficient.
VB:
Sub impri()
For n = 1 To Sheets.Count
If Left(Sheets(n).Name, 9) = "NOMP_" Then
Sheets(n).PrintOut
End If
Next
End Sub
pourriez-vous me débloquer??

Merci par anticipation
 

Jacky67

XLDnaute Barbatruc
[/CODE]
pourriez-vous me débloquer??
Bonjour,
Avec les explications précédentes tu devrais arriver à te débloquer
Essaye ceci
VB:
Sub impri()
For n = 1 To Sheets.Count
MsgBox "Voici les 9 caratères de gauche du nom des feuilles qui sont comparés à ""NOMP_"" ==>" & Left(Sheets(n).Name, 9)
'If Left(Sheets(n).Name, 9) = "NOMP_" Then
'Sheets(n).PrintOut
'End If
Next
End Sub
"NOMP_" n'a que 5 caractères
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 213
Membres
103 158
dernier inscrit
laufin