[excel 2003] de horizontal à verticale
Résolu
JOLARITALE
Messages postés
149
Statut
Membre
-
JOLARITALE Messages postés 149 Statut Membre -
JOLARITALE Messages postés 149 Statut Membre -
Bonjour,
Pour ceux qui me connaissent, vous verrez bien que ce post fait suite aux autres...
Et encore merci de m'avoir permis se résultat
il ne reste plus grand chose avant la fin ;)
Voila le tableau : http://www.cijoint.fr/cjlink.php?file=cj200807/cij6avDyOp.xls.
il y a en colonne
A le numéro opérateur
B le nom d'une ou plusieurs molécules
C la durée du travail
de D à M reprennent ce qui est dans la colonne B mais en mettant qu'une seule molécule par cellules
et voila ce que j'aimerais avoir a la fin de l'opération
http://www.cijoint.fr/cjlink.php?file=cj200807/cijRIW1z8U.xls.
en fait il faudrais que lorsque la colonne B a plus d'une ligne par cellule rechercher dans les colonne allant de D à M le nombre de cellule non vide (différent de #VALEUR) présente sur cette même ligne (qui correspond aussi au nombre de ligne de ladite cellule)
Exemple en ligne 4 : la cellule B4 à 5 lignes / les cellule D4 E4 F4 G4 et H4 sont non vide / 5 cellules non vides (différente de #VALEUR)
ensuite faudrais ajouter en dessous de la ligne ayant en colonne B une cellule de plusieurs lignes autant de ligne que le chiffre trouver juste avant
ici dans l'exemple il faudrais ajouter 5 lignes
puis, couper coller la premiere cellule non vide (différente de #VALEUR) de la ligne (colonne D) dans la premiere ligne ajouter, la deuxième dans la deuxième, la troisieme dans la troisième et ainsi de suite
enfin faudrais copier coller les donnée de la colonne A de la ligne d'origine vers toutes les ligne insérées et de meme pour la colonne C.
pour obtenir ce qui est en rouge sur le cijoint
Pour ceux qui me connaissent, vous verrez bien que ce post fait suite aux autres...
Et encore merci de m'avoir permis se résultat
il ne reste plus grand chose avant la fin ;)
Voila le tableau : http://www.cijoint.fr/cjlink.php?file=cj200807/cij6avDyOp.xls.
il y a en colonne
A le numéro opérateur
B le nom d'une ou plusieurs molécules
C la durée du travail
de D à M reprennent ce qui est dans la colonne B mais en mettant qu'une seule molécule par cellules
et voila ce que j'aimerais avoir a la fin de l'opération
http://www.cijoint.fr/cjlink.php?file=cj200807/cijRIW1z8U.xls.
en fait il faudrais que lorsque la colonne B a plus d'une ligne par cellule rechercher dans les colonne allant de D à M le nombre de cellule non vide (différent de #VALEUR) présente sur cette même ligne (qui correspond aussi au nombre de ligne de ladite cellule)
Exemple en ligne 4 : la cellule B4 à 5 lignes / les cellule D4 E4 F4 G4 et H4 sont non vide / 5 cellules non vides (différente de #VALEUR)
ensuite faudrais ajouter en dessous de la ligne ayant en colonne B une cellule de plusieurs lignes autant de ligne que le chiffre trouver juste avant
ici dans l'exemple il faudrais ajouter 5 lignes
puis, couper coller la premiere cellule non vide (différente de #VALEUR) de la ligne (colonne D) dans la premiere ligne ajouter, la deuxième dans la deuxième, la troisieme dans la troisième et ainsi de suite
enfin faudrais copier coller les donnée de la colonne A de la ligne d'origine vers toutes les ligne insérées et de meme pour la colonne C.
pour obtenir ce qui est en rouge sur le cijoint
A voir également:
- [excel 2003] de horizontal à verticale
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Comment trier par ordre alphabétique sur excel - Guide
2 réponses
Salut,
à mon tour d'apporter une petite pierre à la construction de ton fichier. Bravo en tout cas pour ta persévérance depuis une semaine.
Le code ci-dessous devrait répondre à ta demande (très clairement exposée), sans passer par l'étape intermédiaire du découpage des cellules à l'horizontal. Il faut donc supprimer ta fonction Découper, qui n'a plus lieu d'être (ou au moins la mettre en commentaire si tu veux en garder trace).
Bonne continuation !
à mon tour d'apporter une petite pierre à la construction de ton fichier. Bravo en tout cas pour ta persévérance depuis une semaine.
Le code ci-dessous devrait répondre à ta demande (très clairement exposée), sans passer par l'étape intermédiaire du découpage des cellules à l'horizontal. Il faut donc supprimer ta fonction Découper, qui n'a plus lieu d'être (ou au moins la mettre en commentaire si tu veux en garder trace).
Bonne continuation !
Sub Traitement()
Dim i As Integer, NbLigne As Integer, Contenu
Sheets("Feuil1").Activate 'feuille à traiter
Range("B2").Select 'point de départ
While ActiveCell.Value <> Empty
Contenu = Split(ActiveCell.Value, Chr(10))
NbLigne = UBound(Contenu)
If NbLigne > 0 Then
With ActiveCell
Range(.Offset(1, 0), .Offset(NbLigne, 0)).EntireRow.Insert
For i = 0 To NbLigne
.Offset(i, 0).Value = Contenu(i)
.Offset(i, -1).Value = .Offset(0, -1).Value
.Offset(i, 1).Value = .Offset(0, 1).Value
Next i
End With
End If
ActiveCell.Offset(NbLigne + 1, 0).Activate
Wend
End Sub