Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…