Balayer une ligne et créer une boucle

rs4 Messages postés 1 Statut Membre -  
 rs4 -
Bonjour,

je suis super débutant et je souhaite créer une macro qui effectu un balayage sur une ligne de la cellule A1 à A15 par exemple.

si A1 contient une valeur alors créer un nouvel onglet et le nommer avec le contenu de la cellule A2.

sinon si A1 ne contient rien alors passer à la ligne suivante.

Voilà pour le début si vous pouvez m'aider ca serait super.

merci d'avance.
A voir également:

4 réponses

lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Petite rectification, le mot clé Empty n'est valable que pour une variable Variant.
Et un pti coup de main pour la macro...
Sub gg()

Dim Cell As Range
    Sheets("feuil1").Select
    Range("A1:A15").Select
    For Each Cell In Selection
        If Cell.Value <> "" Then
            Sheets.Add
            ActiveSheet.Name = Cell.Value
        End If
    Next Cell
End Sub

A+
2
rs4
 
Tout d'abord merci pour vos réponses ca m'aide énormément.

Si je peux abuser je souhaite affiner le point suivant :

- Comment rajouter une variable dans mon programme, partons du principe qu'une des colonnes de mon tableau se nomme FOURNISSEUR.

FOURNISSEUR RESERVES CAUSES
X oui retard
Y

Si la cellule RESERVES contient quelque chose alors création d'un onglet que l'on nomme non plus par le contenu de la cellule en question mais par le nom du fournisseur concerné.

et ce toujours sur la première macro.

Merci d'avance
0
Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
Salut rs4,

'Pour balayer ta plage A1:A15, utilise For each ... Next
Dim Cellule as range
Range("A1:A15").select
For each Cellule in selection
'(instructions)
Next Cellule

'pour tester qu'une cellule n'est pas vide
if Not Cellule.value = empty then
'(instructions)
end if

'pour créer et nommer un onglet : vois ce que ça donne avec Outils/Macro/Nouvelle Macro

Avec ça, même super débutant, tu devrais résoudre ton problème.
A suivre...
1
Ivan-hoe Messages postés 433 Date d'inscription   Statut Membre Dernière intervention   309
 
Salut,
exactement le même principe que précédement (message de lermite) :
sélectionne ta plage (colonne Réserves)
Boucle For each ... next
test If Cellule.value="Oui"
sauf que le nom de ta nouvelle feuille sera Cellule.offset(0,-1).value (la valeur de la colonne -1)
A suivre...
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
questions..
1°) quel colonne pour FOURNISSEUR
2°) le nom du fournisseur peut-il ,être trouver plusieur fois ? Si oui, créer d'autre feuilles pour ce fournisseur ? ou une seule.
NB: pas possible de créer plusieur feuille avec le même nom
0
rs4
 
Non, le nom du fournisseur n'apparait qu'une seule fois. c'est une des premières colonnes du tableau.

Evidemment mon besoin ne s'arrête pas là, cette macro est loin d'être terminée.

Si j'ai d'autres questions je n'hésiterai pas à vous consulter.

Merci beaucoup
0