En "I9", soit je rentre une valeur representant un nombre de lignes,
soit je laisse vide.
Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne.
Si je rentre une valeur en "I9", je veux insérer autant de lignes que la
valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0
nbl = Range("I9").Value
while nb <= nbl
inserer lignes
nb = nb + 1
wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex
4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5 lignes.
D'ou vient mon erreur et comment faire pour la corriger.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Lolo,
Essaie ceci :
Cela va insérer le nombre de lignes entières saisi en I9 '--------------------------- Sub InsérerDesLignes() Dim Nb As Integer If IsNumeric(Range("I9")) Then Nb = Range("I9") If Nb > 0 Then Range("I9").Resize(Nb).EntireRow.Insert (xlDown) End If End If End Sub '---------------------------
Salutations!
"lolo" a écrit dans le message de news: 43629baa$0$6117$ Salut à toutes et à tous,
En "I9", soit je rentre une valeur representant un nombre de lignes, soit je laisse vide. Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne. Si je rentre une valeur en "I9", je veux insérer autant de lignes que la valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0 nbl = Range("I9").Value while nb <= nbl inserer lignes nb = nb + 1 wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex 4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5 lignes. D'ou vient mon erreur et comment faire pour la corriger.
D'avance merci.
Bonjour Lolo,
Essaie ceci :
Cela va insérer le nombre de lignes entières saisi en I9
'---------------------------
Sub InsérerDesLignes()
Dim Nb As Integer
If IsNumeric(Range("I9")) Then
Nb = Range("I9")
If Nb > 0 Then
Range("I9").Resize(Nb).EntireRow.Insert (xlDown)
End If
End If
End Sub
'---------------------------
Salutations!
"lolo" <l.maire_nospams_@free.fr> a écrit dans le message de news: 43629baa$0$6117$636a15ce@news.free.fr...
Salut à toutes et à tous,
En "I9", soit je rentre une valeur representant un nombre de lignes,
soit je laisse vide.
Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne.
Si je rentre une valeur en "I9", je veux insérer autant de lignes que la
valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0
nbl = Range("I9").Value
while nb <= nbl
inserer lignes
nb = nb + 1
wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex
4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5 lignes.
D'ou vient mon erreur et comment faire pour la corriger.
Cela va insérer le nombre de lignes entières saisi en I9 '--------------------------- Sub InsérerDesLignes() Dim Nb As Integer If IsNumeric(Range("I9")) Then Nb = Range("I9") If Nb > 0 Then Range("I9").Resize(Nb).EntireRow.Insert (xlDown) End If End If End Sub '---------------------------
Salutations!
"lolo" a écrit dans le message de news: 43629baa$0$6117$ Salut à toutes et à tous,
En "I9", soit je rentre une valeur representant un nombre de lignes, soit je laisse vide. Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne. Si je rentre une valeur en "I9", je veux insérer autant de lignes que la valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0 nbl = Range("I9").Value while nb <= nbl inserer lignes nb = nb + 1 wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex 4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5 lignes. D'ou vient mon erreur et comment faire pour la corriger.
D'avance merci.
docm
Bonjour lolo
Comme ceci, il y aura au moins une exécution de la commande car le WHILE est placé après la commande Selection.Insert Shift:=xlDown
nb = 0 nbl = Range("I9").Value Do 'La suite sera exécutée au moins une fois. Selection.Insert Shift:=xlDown nb = nb + 1 Loop While nb < nbl
docm
"lolo" a écrit dans le message news: 43629baa$0$6117$
Salut à toutes et à tous,
En "I9", soit je rentre une valeur representant un nombre de lignes, soit je laisse vide. Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne. Si je rentre une valeur en "I9", je veux insérer autant de lignes que la valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0 nbl = Range("I9").Value while nb <= nbl inserer lignes nb = nb + 1 wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex 4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5 lignes.
D'ou vient mon erreur et comment faire pour la corriger.
D'avance merci.
Bonjour lolo
Comme ceci, il y aura au moins une exécution de la commande car le WHILE est
placé après la commande Selection.Insert Shift:=xlDown
nb = 0
nbl = Range("I9").Value
Do 'La suite sera exécutée au moins une fois.
Selection.Insert Shift:=xlDown
nb = nb + 1
Loop While nb < nbl
docm
"lolo" <l.maire_nospams_@free.fr> a écrit dans le message news:
43629baa$0$6117$636a15ce@news.free.fr...
Salut à toutes et à tous,
En "I9", soit je rentre une valeur representant un nombre de lignes,
soit je laisse vide.
Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne.
Si je rentre une valeur en "I9", je veux insérer autant de lignes que la
valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0
nbl = Range("I9").Value
while nb <= nbl
inserer lignes
nb = nb + 1
wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex
4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5
lignes.
D'ou vient mon erreur et comment faire pour la corriger.
Comme ceci, il y aura au moins une exécution de la commande car le WHILE est placé après la commande Selection.Insert Shift:=xlDown
nb = 0 nbl = Range("I9").Value Do 'La suite sera exécutée au moins une fois. Selection.Insert Shift:=xlDown nb = nb + 1 Loop While nb < nbl
docm
"lolo" a écrit dans le message news: 43629baa$0$6117$
Salut à toutes et à tous,
En "I9", soit je rentre une valeur representant un nombre de lignes, soit je laisse vide. Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne. Si je rentre une valeur en "I9", je veux insérer autant de lignes que la valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0 nbl = Range("I9").Value while nb <= nbl inserer lignes nb = nb + 1 wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex 4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5 lignes.
D'ou vient mon erreur et comment faire pour la corriger.
D'avance merci.
lolo
Merci à vous deux.
J'ai récupéré la version de docm, qui était la plus facilement transposable dans mon programme. Je testerais la version de michdenis ce soir, car je ne veux pas mourrir idiot et je teste tout ce que l'on m'envoie. La meilleure méthode pour progresser. Encore merci.
Salut à toutes et à tous,
En "I9", soit je rentre une valeur representant un nombre de lignes, soit je laisse vide. Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne. Si je rentre une valeur en "I9", je veux insérer autant de lignes que la valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0 nbl = Range("I9").Value while nb <= nbl inserer lignes nb = nb + 1 wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex 4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5 lignes. D'ou vient mon erreur et comment faire pour la corriger.
D'avance merci.
Merci à vous deux.
J'ai récupéré la version de docm, qui était la plus facilement
transposable dans mon programme.
Je testerais la version de michdenis ce soir, car je ne veux pas mourrir
idiot et je teste tout ce que l'on m'envoie. La meilleure méthode pour
progresser.
Encore merci.
Salut à toutes et à tous,
En "I9", soit je rentre une valeur representant un nombre de lignes,
soit je laisse vide.
Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne.
Si je rentre une valeur en "I9", je veux insérer autant de lignes que la
valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0
nbl = Range("I9").Value
while nb <= nbl
inserer lignes
nb = nb + 1
wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex
4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5 lignes.
D'ou vient mon erreur et comment faire pour la corriger.
J'ai récupéré la version de docm, qui était la plus facilement transposable dans mon programme. Je testerais la version de michdenis ce soir, car je ne veux pas mourrir idiot et je teste tout ce que l'on m'envoie. La meilleure méthode pour progresser. Encore merci.
Salut à toutes et à tous,
En "I9", soit je rentre une valeur representant un nombre de lignes, soit je laisse vide. Si je laisse "I9" vide, en cliquant sur un bouton, j'insére une ligne. Si je rentre une valeur en "I9", je veux insérer autant de lignes que la valeur. Si "I9" = 5, j'insére 5 lignes, si "I9" = 1, j'insére 1 ligne.
nb = 0 nbl = Range("I9").Value while nb <= nbl inserer lignes nb = nb + 1 wend
Si "I9" est vide, cela fonctionne, mais si "I9" contient une valeur (ex 4), il y automatiquement 1 ligne supplémentaire de rajoutées, ici 5 lignes. D'ou vient mon erreur et comment faire pour la corriger.