Probleme "la méthode autofill de la classe Range a échoué"

modus42

XLDnaute Nouveau
Bonjour,

après avoir parcouru les sujets du forum, et avoir déjà bien avancé dans mon modeste programme. Je viens poser une question !

Mon but :

Au départ, j'ai un tableau de ce type :

5 38120 4
5 38200 2
6 38100 1

Je voudrais obtenir le tableau suivant :

5 38120 4
5 38121 4
5 38122 4
5 38123 4
5 38124 4
5 38200 2
5 38201 2
5 38202 2
6 38100 1
6 38101 1

La colonne B est à incrémenter, les valeurs de la colonne C correspondent au nombre de lignes à insérer.

En pièce jointe, le test, et le début de programme que j'ai fait.

J'ai utilisé 2 macros différentes :
une pour insérer les nouvelles lignes.
la deuxième pour incrémenter la colonne B.

C'est la deuxième qui me pose problème : j'obtiens le message d'erreur "La méthode AutoFill de la classe Range a échoué"

Merci d'avance de votre aide.
 

Pièces jointes

  • tests_incrementation.xls
    35.5 KB · Affichages: 104

vbacrumble

XLDnaute Accro
Re : Probleme "la méthode autofill de la classe Range a échoué"

Bonjour everybody

En passant brièvement par ici, une proposition (pour l'insertion de lignes et l'incrémentation dans une seule macro)

Code:
Sub macro1()
Dim i As Long, j As Long
Application.ScreenUpdating = False
For i = Range("A65536").End(xlUp).Row To 1 Step -1
    If Cells(i, 3) <> 0 Then
        For j = Cells(i, 3) To 1 Step -1
        Rows(i + 1).Insert Shift:=xlDown
        Cells(i + 1, 2) = Cells(i, 2) + j
        Cells(i + 1, 1) = Cells(i, 1)
        Cells(i + 1, 3) = Cells(i, 3)
        Next
    End If
Next i
Application.ScreenUpdating = True
End Sub
 
Dernière édition:

soenda

XLDnaute Accro
Re : Probleme "la méthode autofill de la classe Range a échoué"

Bonjour le fil, Modus

En ajoutant une ligne dans la Sub Inserer :

Code:
Sub Inserer()
Dim I As Long, J As Integer, Nombre As Integer
 
For I = Range("A65536").End(xlUp).Row To 1 Step -1
    Nombre = Range("C" & I)
    For J = 1 To Nombre
        Rows(I + J).Insert xlDown
        Cells(I, 1).Copy
        Cells(I + J, 1).PasteSpecial
 
        [B][COLOR=blue]Range("B" & I).AutoFill Range("B" & I & ":B" & I + J), xlFillSeries[/COLOR][/B]
 
    Next
Next
Range("A1").Select
Application.CutCopyMode = False
End Sub
A plus

Un grand Salut à toi, VBACrumble :)
 
Dernière édition:

modus42

XLDnaute Nouveau
Re : Probleme "la méthode autofill de la classe Range a échoué"

Merci pour ces retours,

les deux méthodes fonctionnent bien,

j'ai opté pour la deuxième plus proche de ce que j'avais fait.

Merci pour votre efficacité!

Dois-je noter que le problème est résolu ? Comment ?
 

Discussions similaires

Réponses
7
Affichages
351

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote