SI CELLULE VIDE ALORS PASSER À LA SUIVANTE
Résolu
Texcel
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Texcel Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Texcel Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voici ma macro, elle génère un onglet pour chaque valeur contenu dans la liste "article" et lui assigne le nom de la valeur de la cellule
Sub créer_feuilles()
Dim S As Object
Dim DL As Integer
Dim TC As Variant
Dim I As Integer
Dim NO As Object
Set S = Sheets("Phases et budgets")
DL = S.Cells(Application.Rows.Count, 3).End(xlUp).Row
TC = S.Range("article")
For I = 3 To UBound(TC, 1)
On Error Resume Next
Set NO = Sheets(TC(I, 1))
If Err <> 0 Then
Err.Clear
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = TC(I, 1)
End If
On Error GoTo 0
Next I
End Sub
Ma problématique est que quand elle rencontre une cellule vide, la macro donne ouvre une feuille et lui assigne un numéro séquentiel. Cela donne donc plusieurs feuille qui n'ont pas besoin d'être.
J'ai tenté de corriger le problème avec if cell.value="" then goto next I
mais sans succès
Pourriez-vous m'aider
voici ma macro, elle génère un onglet pour chaque valeur contenu dans la liste "article" et lui assigne le nom de la valeur de la cellule
Sub créer_feuilles()
Dim S As Object
Dim DL As Integer
Dim TC As Variant
Dim I As Integer
Dim NO As Object
Set S = Sheets("Phases et budgets")
DL = S.Cells(Application.Rows.Count, 3).End(xlUp).Row
TC = S.Range("article")
For I = 3 To UBound(TC, 1)
On Error Resume Next
Set NO = Sheets(TC(I, 1))
If Err <> 0 Then
Err.Clear
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = TC(I, 1)
End If
On Error GoTo 0
Next I
End Sub
Ma problématique est que quand elle rencontre une cellule vide, la macro donne ouvre une feuille et lui assigne un numéro séquentiel. Cela donne donc plusieurs feuille qui n'ont pas besoin d'être.
J'ai tenté de corriger le problème avec if cell.value="" then goto next I
mais sans succès
Pourriez-vous m'aider
A voir également:
- Formule excel si cellule vide alors cellule suivante
- Excel cellule couleur si condition texte - Guide
- Formule si et excel - Guide
- Proteger cellule excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule moyenne excel plusieurs colonnes - Guide
2 réponses
Bonjour,
sur la feuille "mise en page" il y a certaines cellules encandrées, un logo etc.
J'aimerais que cette mise en page se copie sur toutes les nouvelles créées en fonction de TC
sur la feuille "mise en page" il y a certaines cellules encandrées, un logo etc.
J'aimerais que cette mise en page se copie sur toutes les nouvelles créées en fonction de TC
Bonjour,
Sub créer_feuilles() Dim S As Object Dim DL As Integer Dim TC As Variant Dim I As Integer Dim NO As Object Set S = Sheets("Phases et budgets") DL = S.Cells(Application.Rows.Count, 3).End(xlUp).Row TC = S.Range("article") Nb = UBound(TC, 1) For I = 3 To Nb If TC(I, 1) <> "" Then 'non vide On Error Resume Next Set NO = Sheets(TC(I, 1)) If Err <> 0 Then Err.Clear Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = TC(I, 1) End If End If On Error GoTo 0 Next I End Sub
Donc, vous voulez faire une copie de la feuille "mise en page" pour chaque article de la feuille "phases et budgets" en renomment cette feuille du nom de l'article.
Sub copie_mise_en_forme()
Sheets("mise en page").Select
Cells.Select
Selection.Copy
For I = 4 To Sheets.Count
Sheets(I).Select
Cells.Select
ActiveSheet.Paste
Next I
End Sub
Ok, je vous fais ca
ci-dessous le code qui correspond a votre reponse a la suite de
mon post 6: f894009 - 18 janv. 2017 à 16:51