Déplacement automatique d'une cellule à l'aide d'une macro

anisyaiche

XLDnaute Nouveau
Bonjour à tous,

Je sollicite votre ingéniosité pour la première fois pour m'aider sur une problématique que je rencontre sur mon ERP.
Je travaille dans une imprimerie qui utilise un logiciel de gestion de production nommé Graphisoft. Ce logiciel gère la production depuis l'entrée en stock de la matière première jusqu'à la facturation.
Le cheminement normal d'une affaire est le suivante :
1/ création d'un devis
2/ transformation du devis en commande (attribution d'un n° de commande). La commande est aussi un dossier de fabrication.
3/La création d'un dossier génère en pratique (mais pas tout le temps) une réservation de matière première dans le stock.
4/ La réservation de matière est compensée par un bon de sortie de matière.

Je ne sais pas pour quelle raison, le logiciel ne permet de produire un tableau qui me donne le n° de bon de sortie pour chaque Commande. Mais le contraire est possible (il peut me donner le n0 de commande pour chaque bon de sortie)

Le seul fichier que j'ai réussi à extraire pour me rapprocher de ce que je veux, est un tableau qui récapitule par N° de sortie, le type de matière concernéee et le n° de commande correspondant. Mais le format du tableau n'est pas adéquat pour une analyse détaille d'une grande masse de données.

Pour chaque Bon de sortie, il crée un encadré en gras avec sur la première ligne le mot "sortie" et la cellule d'en face le n° du bon de sortie". Puis en bas, un tableau avec autant de lignes que de matière sortie et le n° de commande correspondant.

Ma requête est la suivante :

Je voudrais savoir si on peut créer une macro qui déplacera automatiquement le n0 du bon de sortie sur les lignes du tableau qu'il contient??

Je vous joins le fichier de données avec un exemple de ce que je souhaiterais avoir.

En vous remerciant par avance pour cotre aide.
 

Pièces jointes

  • Liste bons de sortie.XLS
    107.5 KB · Affichages: 34

Modeste

XLDnaute Barbatruc
Re : Déplacement automatique d'une cellule à l'aide d'une macro

Bonjour anisyaiche et bienvenue,

Je ne sais pas
  • si j'ai compris
  • si tu repasseras par ici
  • si ça fonctionnera dans les cas où la structure de fichier différerait de l'exemple présenté

Comme ça ne mange pas de pain, essaie de copier les lignes suivantes dans la fenêtre de code de la Feuil "Liste des pièces 5"
VB:
Sub sorties()
Set trouve = [A:A].Find(what:="SORTIE", LookIn:=xlValues, lookat:=xlWhole, MatchCase:=True)
If Not trouve Is Nothing Then
premAdresse = trouve.Address
Do
    For lig = 1 To 20 'à adapter au nombre potentiellement le plus grand de lignes par tableau
        If Cells(trouve.Row + 3 + lig, 1) <> "" Then
            Cells(trouve.Row + 3 + lig, 5) = trouve.Offset(0, 1)
            Cells(trouve.Row + 3 + lig, 6) = trouve.Offset(0, 5)
        Else
            Exit For
        End If
    Next lig
    Set trouve = [A:A].FindNext(trouve)
Loop While Not trouve Is Nothing And trouve.Address <> premAdresse
End If
End Sub
 

Discussions similaires

  • Question
XL pour MAC mise en forme
Réponses
2
Affichages
93
Réponses
4
Affichages
311

Statistiques des forums

Discussions
312 113
Messages
2 085 426
Membres
102 888
dernier inscrit
medoit