Microsoft 365 Modification code vba

  • Initiateur de la discussion Initiateur de la discussion MASSJIPE
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MASSJIPE

XLDnaute Impliqué
Bonjour le Forum
Besoin d'aide pour modifier le code vba suite à des ajouts de colonne supplémentaire j'ai fait des essais mais ca ne marche pas
1592636225607.png

VB:
Sub Panier()
    Dim plageProd As Range
    Dim compteur As Integer
    Sheets("Bon de commande").Select
    Range("A9:E34").Select
    Selection.ClearContents
    Range("A1").Select
    With Sheets("Catalogue")
        Set plageProd = .Range("A9:" & .[A65000].End(xlUp).Address) 'repère les cellules non-vides de la colonne A
    End With
    'nbArt = WorksheetFunction.CountIf(plageProd.Offset(, 3), ">0") 'combien de qté renseignées?
    compteur = 9 'puisque bon de Cmde démarre en ligne 9
    With Sheets("Bon de commande")
        For Each cell In plageProd.Offset(, 3)
            If cell Then
                .Range("A" & compteur).Resize(1, 8) = cell.Offset(0, -7).Resize(1, 8).Value
                .Range("I" & compteur) = .Range("G" & compteur) * .Range("H" & compteur)
                compteur = compteur + 1
            End If
        Next cell
        '.Range("E" & compteur) = WorksheetFunction.Sum(Range(.Cells(9, 5), .Cells(compteur, 5)))
    End With
End Sub
 
Bonjour
Lorsque l'on écrit ou dit quelque-chose (en code ou non), ce que l'on écrit ou dit doit avoir une signification précise au moins pour celui qui écrit ou dit la chose concernée.
Question, donc : quelle est pour toi (au moins pour toi) la signification de ce que tu as écrit là :
VB:
If cell Then
 
Bonjour
c'est vrai c'est le calcul qui ne vas pas pour les colonnes G H I je pense que c'est dans cette partie du code
VB:
.Range("A" & compteur).Resize(1, 8) = cell.Offset(0, -7).Resize(1, 8).Value
                .Range("I" & compteur) = .Range("G" & compteur) * .Range("H" & compteur)
                compteur = compteur + 1
 
re
bonjour
Set plageProd = .Range("A9:" & .[A65000].End(xlUp).Address)
donc la colonne 1


For Each cell In plageProd.Offset(, 3)
If cell Then
.Range("A" & compteur).Resize(1, 8) = cell.Offset(0, -7).Resize(1, 8).Value
.Range("I" & compteur) = .Range("G" & compteur) * .Range("H" & compteur)
compteur = compteur + 1
End If
Next cell

n'y a t il pas un soucis déjà ici avec l'offset 🙄
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
511
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Réponses
1
Affichages
520
Réponses
16
Affichages
1 K
Retour