AIDE SUR MODIF CODE VBA

cj welch

XLDnaute Occasionnel
bonjur,
je voudrais modifier le code suivant :
Code:
Sub Saisie()
Dim r As Byte
Dim NomFichier$
Const NomChemin$ = "\\Serveur\Partages\Gestion\
 
    r = MsgBox("Voulez vous lancer l'effacement ?", vbYesNo, "Effacement ?")
    If r = 6 Then
        Sheets("commande").Unprotect Password:="LN"
        Union(Cells(2, 2), Range("H9:U48")).ClearContents
        Sheets("commande").Protect Password:="LN"
        NomFichier = "HC" & " " & Cells(1, 2).Value & ".xls"
        r = MsgBox("Voulez vous enregister le classeur sous le nom : " & NomFichier, vbYesNo, "Enregistrement ?")
        If r = 6 Then ActiveWorkbook.SaveAs (NomChemin & NomFichier)
    End If
 
End Sub

je voudrais rajouter :
- l' éffacement de la colonne AA9 à AA48
-copier les valeurs de la colonne AC9:AC48 vers AB9:AB48 (en gardant la FORMULE en AC du type (AA9 + AB9)
- effacer les valeurs de la colonne AF9 à AF48

Merci pour votre aide

Cordialement
 

cathodique

XLDnaute Barbatruc
ok pour le fichier, mais il n'y a pas de données dans plages concernées pour un test.

Donc pas tester à toi de le faire.
VB:
Private Sub cmdOK_Click()
If cbxMois.Value = "" Or cbxAnnée.Value = "" Then
    MsgBox "Veuillez saisir un mois et une année ", vbExclamation, "Saisie incorrecte..."
Else
    With Sheets("commande")
        .Unprotect Password:="LN"
        .Cells(1, 2) = CStr(cbxMois.Value & " " & cbxAnnée.Value)
        'je voudrais rajouter :
'- l' éffacement de la colonne AA9 à AA48
    .Range("AA9:AA48").ClearContents
'-copier les valeurs de la colonne AC9:AC48 vers AB9:AB48 (en gardant la FORMULE en AC du type (AA9 + AB9)
.Range("AB9:AB48").Value = .Range("AC9:AC48").Value
'- effacer les valeurs de la colonne AF9 à AF48
        .Range("AF9:AF48").ClearContents
        .Protect Password:="LN"
    End With
    UsfMois.Hide
    Saisie
End If
End Sub
J'espère que c'est le résultat escompté.
edit: :)salut Pierrejean.
 

cj welch

XLDnaute Occasionnel
Bonjour cathodique et pierrejean

merci pour votre aide
Cathodique, le code ne fonctionne pas, j 'ai un message d'erreur. tu peut tester le code en cliquand sur le petit bouton bleu a coté de "MOIS"

Pierrejean ca fonctionne très bien, le seul petit soucis c'est qu'il faudrait copier en AB9 et suivant (jusqu'a AB48) uniquement les valeurs (sans la formule car cela modifie le calcul)
cordialement
 

cj welch

XLDnaute Occasionnel
re,
oui, je l 'avais testé et cella ne marchait pas
comme tu m 'as dit que c'etait conforme au poste #5, j' ai regardé uniquement le modules 2

Cela fonctionne partiellement
la colonne AC9 ne se copie pas en AB9 (uniquement les valeurs)
Mon objectif est que quand je changerais de mois, le solde du mois précedent reste
cordialement
 

cathodique

XLDnaute Barbatruc
la colonne AC9 ne se copie pas en AB9 (uniquement les valeurs)
Désolé, tu as mis un fichier non renseigné. On ne peut pas deviner ce que tu désir. Alors j'ai mis quelques valeurs, et le solde précédent se recopie bien en colonne AB.

Je n'ai pas compris ton userform demande de choisir un mois et une année. Alors que le code ne fait aucune référence aux dates.
Cela fonctionne partiellement
Explique-nous comment doit fonctionner ton fichier.

Bonne soirée.
 

cj welch

XLDnaute Occasionnel
Re,
je vais essayé d être plus précis
l 'userform sert uniquement a gérer le mois et l'année
le module 2 sert a l'effacement des données et a l 'enregistrement du nouveau classeur
ex : j' ai un classeur appelé HC JANVIER, en février je crée un nouveau fichier qu'on appellera HC FEVRIER.
Le fichier HC FEVRIER est créée a partir de HC JANVIER et je veux qu'il conserve certaines données de Janvier

voir fichier

j 'espère avoir été plus explicite

cordialement
 

Pièces jointes

  • Copie de test3.xls
    233 KB · Affichages: 40

cathodique

XLDnaute Barbatruc
Bonjour,

Tu ne nous dis pas si avec la macro, les données de la colonne AC sont recopiées en AB.

Si j'ai bien compris UserForm UsfMois ne te sert que pour le nom sous lequel tu enregistres le fichier.

Parce que dans le code, la date ne sert pas à effacer et recopier les données.

Chez-moi, j'ai testé les valeurs (pas les formules) AC sont bien copiées en AB.

Voilà, j'ai trouvé où ça foiré. En fait, tu fais appel à une procédure en fin de code de l'userform UsfMois.

Alors que j'avais mis le code qui recopie dans l'userform, du coup il y a 2 procédures qui s’exécutent l'une après l'autre.

J'ai corrigé sur test3.
 

Pièces jointes

  • Copie de test3.xls
    239.5 KB · Affichages: 38

Statistiques des forums

Discussions
312 922
Messages
2 093 658
Membres
105 777
dernier inscrit
Lili1411