Macro qui bug après une modification de la feuille

JLT

XLDnaute Nouveau
Bonsoir,

Je reviens vers les pro du monde Excel, qui sont une sacré référence :)

Grace à vous, j'ai pu installer une macro qui reporte le dernier chiffre d'une ligne dans une cellule, et ce pour toutes les lignes de la feuille (à partir de la 10è ligne).
Cela sert à mettre dans une colonne à coté du nom du membre, où il en est dans son abonnement.
Mais j'ai du modifier les dernières colonnes de la feuille et depuis la macro bug désespérément sur : Set plage = Range(Cells(10, y), Cells(10 + z - x, y + zz))
Pourriez vous m'éclairer ?
Tout grand merci
Jean-Luc
Si nécessaire je peux vous mettre une copie de la feuille.
Mais en attendant voici le code de la macro en entier :

Sub test3()
Dim plage As Range
ActiveSheet.UsedRange.Select
x = Selection.Row
y = Selection.Column
z = Selection.Rows.Count
zz = Selection.Columns.Count
Set plage = Range(Cells(10, y), Cells(10 + z - x, y + zz))
plage.Select
If Range("F65536").End(xlUp).Row > 9 Then
Range("F10:F" & Range("F65536").End(xlUp).Row).ClearContents
End If
For n = Selection.Row To Selection.Row + Selection.Rows.Count
If Cells(n, 256).End(xlToLeft).Column > 4 + Selection.Column Then
Cells(n, 256).End(xlToLeft).Copy Destination:=Cells(n, "F")
End If
Next n
Range("A1").Select
Application.ScreenUpdating = True

End Sub
 
Dernière édition:

JLT

XLDnaute Nouveau
Re : Macro qui bug après une modification de la feuille

Ah oui, la, c'est parfait ca semble fonctionner, mais qu'a tu fais pour cela que je comprenne un petit peu ?

Et comme je ne fais pas ca tout les jours, comment faire pour mettre cette correction dans la feuille existante ? que faut il exporter ou copier et comment ?
Merci pour l'aide

NB: le fichier que j'ai donné comme exemple n'avais pas la colonne E qui est une copie de la situation de la période précédente, ce qui fait que le résultat doit se trouver dans la colonne F et pas E (après insertion de la nouvelle colonne E).
J'ai apporté la modification suivante dans le code "Mille_Six_Cent":
Cells(i, 256).End(xlToLeft).Copy Cells(i, "F") => "F" à la place de "E" et c'est ok
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Macro qui bug après une modification de la feuille

Re




Ouvres le fichier que j'ai joint dans mon précédent message

Appuie sur ALT+F11

Tu trouveras un module nommé staple
er à l'intérieur une macro nommée : Mille_Six_Cent

(C'est juste un trait d'humour :D)

Dis moi ce que tu ne comprends pas dans le code.






PS: pour intégrer la macro dans ton classeur
tu fais un copier coller dans le module de ton choix
(bien sur tu peux renommer la macro ;)
enuiste dans le code du bouton , tu modifies
par :

call lenomdetamacro
 
Dernière édition:

JLT

XLDnaute Nouveau
Re : Macro qui bug après une modification de la feuille

Oui, C'est par un exporter et importer que j'ai pu faire un transfert du fichier staple.bas
ET dans la macro qui appelle le module j'ai modifié la ligne suivante comme suit : Call Mille_Six_Cent
Et ca fonctionne, super.
Mais juste un détail encore, il ne faut pas que la macro prenne les données de la colonne E (qui est un résumé de la situation pour la période antérieur) comment l'indiquer dans le module ?
J'ai trouvé : ligne suivante avec le 4 modifié en 5 pour 5ème colonne
"If iCol > 5 Then"
 
Dernière édition:

JLT

XLDnaute Nouveau
Re : Macro qui bug après une modification de la feuille

oui, j'ai trouvé cette astuce:
la ligne suivante modifiée avec le 5 à la place du 4 pour la 5ème colonne
"If iCol > 5 Then"
heu oui pour le nom de ta macro, ne compliquons pas trop :))))
En tous cas merci, je connais des secrétaires qui vont être contente car elles ne devront plus chercher dans le tableau la dernière présence du membre alors qu'il y a 20 personnes qui attendent derrière pour rentrer dans la salle :)
Merci et bonne nuit
 

pierrejean

XLDnaute Barbatruc
Re : Macro qui bug après une modification de la feuille

Bonjour a tous

suite a MP

Modif a tester:

Code:
.......
zz = Selection.Columns.Count
[COLOR=blue]If y + zz > 256 Then[/COLOR]
[COLOR=blue] nbcol = 256[/COLOR]
[COLOR=blue]Else[/COLOR]
[COLOR=blue] nbcol = y + zz[/COLOR]
[COLOR=blue]End If[/COLOR]
Set plage = Range(Cells(10, y), Cells(10 + z - x, [COLOR=blue]nbcol[/COLOR]))
plage.Select
........
 

JLT

XLDnaute Nouveau
Re : Macro qui bug après une modification de la feuille

Bonjour à tous,

Merci aussi PierreJean, je viens de la tester et ta solution fonctionne également.
Je n'ai que l'embarras du choix maintenant entre vos propositions :)

Merci à tous pour votre aide précieuse toujours la bienvenue.
 

Discussions similaires

Réponses
1
Affichages
196
Réponses
2
Affichages
176
Réponses
0
Affichages
176

Statistiques des forums

Discussions
312 490
Messages
2 088 881
Membres
103 981
dernier inscrit
vinsalcatraz