J'ai oublié de préciser que ma demande concernait une macro. Merci d'avance,
Le mardi 17 décembre 2013 14:59:52 UTC+1, suze32 a écrit :
Bonjour,
Je traite des données issus d'un logiciel comptable en l'exportant.
Dans ma colonne A, j'ai une données dans la cellule "A3", "A54", "A85", "A87"...
(entre toutes ces cellules, les cellules sont vides)
Je souhaiterais pouvoir copier les données de la cellule A3 jusqu'à A 53, celle de A54 jusqu'à A84 etc... jusqu'à la fin de la feuille.
A chaque extraction, les cellules remplies ne seront pas les mêmes.
Merci pour votre aide
Bonne journée,
MichD
Bonjour,
En supposant que j'ai bien compris ta question, essaie comme ceci. Prends soin d'adapter le nom de l'onglet de la feuille de la procédure.
'------------------------------------- Sub test1() Dim T As Variant Application.EnableEvents = False With Worksheets("Feuil1") T = Split(.Range("A3"), ",") .Range("A3").Resize(UBound(T)) = Application.Transpose(T) T = Split(.Range("A54"), ",") .Range("A54").Resize(UBound(T)) = Application.Transpose(T) End With Application.EnableEvents = True End Sub '-------------------------------------
Bonjour,
En supposant que j'ai bien compris ta question,
essaie comme ceci. Prends soin d'adapter le nom
de l'onglet de la feuille de la procédure.
'-------------------------------------
Sub test1()
Dim T As Variant
Application.EnableEvents = False
With Worksheets("Feuil1")
T = Split(.Range("A3"), ",")
.Range("A3").Resize(UBound(T)) = Application.Transpose(T)
T = Split(.Range("A54"), ",")
.Range("A54").Resize(UBound(T)) = Application.Transpose(T)
End With
Application.EnableEvents = True
End Sub
'-------------------------------------
En supposant que j'ai bien compris ta question, essaie comme ceci. Prends soin d'adapter le nom de l'onglet de la feuille de la procédure.
'------------------------------------- Sub test1() Dim T As Variant Application.EnableEvents = False With Worksheets("Feuil1") T = Split(.Range("A3"), ",") .Range("A3").Resize(UBound(T)) = Application.Transpose(T) T = Split(.Range("A54"), ",") .Range("A54").Resize(UBound(T)) = Application.Transpose(T) End With Application.EnableEvents = True End Sub '-------------------------------------
suze32
Merci pour beaucoup pour ton aide, mais le code ne marche pas et je ne pens e pas que cela convienne.
Pour être plus explicite, Dans la cellule "A3" est inscrit "NO", dans la cellule "A54" est inscrit "ES", dans la cellule "A85" est inscrit "FR"... C es codes correspondent à des codes pays.
Je souhaiterais qu'en cellule A4,A5,A6,A7... jusqu'à A53 soit copier dans chaque cellule "NO". Puis que "ES" soit étendu de la cellule A55 à A84 et ainsi de suite pour tous les codes de pays inscrit aléatoirement.
Un fichier vous intéresse peut-être comme modèle?
Merci pour votre aide, Suzy
Merci pour beaucoup pour ton aide, mais le code ne marche pas et je ne pens e pas que cela convienne.
Pour être plus explicite, Dans la cellule "A3" est inscrit "NO", dans la cellule "A54" est inscrit "ES", dans la cellule "A85" est inscrit "FR"... C es codes correspondent à des codes pays.
Je souhaiterais qu'en cellule A4,A5,A6,A7... jusqu'à A53 soit copier dans chaque cellule "NO". Puis que "ES" soit étendu de la cellule A55 à A84 et ainsi de suite pour tous les codes de pays inscrit aléatoirement.
Merci pour beaucoup pour ton aide, mais le code ne marche pas et je ne pens e pas que cela convienne.
Pour être plus explicite, Dans la cellule "A3" est inscrit "NO", dans la cellule "A54" est inscrit "ES", dans la cellule "A85" est inscrit "FR"... C es codes correspondent à des codes pays.
Je souhaiterais qu'en cellule A4,A5,A6,A7... jusqu'à A53 soit copier dans chaque cellule "NO". Puis que "ES" soit étendu de la cellule A55 à A84 et ainsi de suite pour tous les codes de pays inscrit aléatoirement.
Un fichier vous intéresse peut-être comme modèle?
Merci pour votre aide, Suzy
MichD
'------------------------------------------------ Sub test1() Dim T As Variant Application.EnableEvents = False With Worksheets("Feuil1") .Range("A3:A53") = "NO" .Range("A54") = "ES" End With Application.EnableEvents = True End Sub '------------------------------------------------
'------------------------------------------------
Sub test1()
Dim T As Variant
Application.EnableEvents = False
With Worksheets("Feuil1")
.Range("A3:A53") = "NO"
.Range("A54") = "ES"
End With
Application.EnableEvents = True
End Sub
'------------------------------------------------
'------------------------------------------------ Sub test1() Dim T As Variant Application.EnableEvents = False With Worksheets("Feuil1") .Range("A3:A53") = "NO" .Range("A54") = "ES" End With Application.EnableEvents = True End Sub '------------------------------------------------
MichD
Erreur corrigée.
'------------------------------------------------ Sub test1() Dim T As Variant Application.EnableEvents = False With Worksheets("Feuil1") .Range("A3:A53") = "NO" .Range("A55:A84") = "ES" End With Application.EnableEvents = True End Sub '------------------------------------------------
Erreur corrigée.
'------------------------------------------------
Sub test1()
Dim T As Variant
Application.EnableEvents = False
With Worksheets("Feuil1")
.Range("A3:A53") = "NO"
.Range("A55:A84") = "ES"
End With
Application.EnableEvents = True
End Sub
'------------------------------------------------
'------------------------------------------------ Sub test1() Dim T As Variant Application.EnableEvents = False With Worksheets("Feuil1") .Range("A3:A53") = "NO" .Range("A55:A84") = "ES" End With Application.EnableEvents = True End Sub '------------------------------------------------
suze32
Ce n'est pas encore ça, mais on va y arriver! Désolé si mes explications ne sont pas très clair, sans fichier c'est difficile...
Les codes sociétés seront toujours différents, exemple : à la proch aine extraction j'aurais NO à la place de ES. A la prochaine extraction, les cellules renseignées ne seront pas les mêmes, exemple, il y a aura un code société en A5, A10, A50...
Je souhaite une macro qui fonctionne à chaque extraction et qui copie le code sociétés (soit les données de la première cellule remplie jusq u'à la dernière cellule vide, puis faire pareil pour la prochaine donn ée).
Merci pour votre aide, Suzy
Ce n'est pas encore ça, mais on va y arriver!
Désolé si mes explications ne sont pas très clair, sans fichier c'est difficile...
Les codes sociétés seront toujours différents, exemple : à la proch aine extraction j'aurais NO à la place de ES. A la prochaine extraction, les cellules renseignées ne seront pas les mêmes, exemple, il y a aura un code société en A5, A10, A50...
Je souhaite une macro qui fonctionne à chaque extraction et qui copie le code sociétés (soit les données de la première cellule remplie jusq u'à la dernière cellule vide, puis faire pareil pour la prochaine donn ée).
Ce n'est pas encore ça, mais on va y arriver! Désolé si mes explications ne sont pas très clair, sans fichier c'est difficile...
Les codes sociétés seront toujours différents, exemple : à la proch aine extraction j'aurais NO à la place de ES. A la prochaine extraction, les cellules renseignées ne seront pas les mêmes, exemple, il y a aura un code société en A5, A10, A50...
Je souhaite une macro qui fonctionne à chaque extraction et qui copie le code sociétés (soit les données de la première cellule remplie jusq u'à la dernière cellule vide, puis faire pareil pour la prochaine donn ée).
Merci pour votre aide, Suzy
MichD
Tu peux publier un fichier exemple en utilisant le site Cjoint.com Tu obtiendras une adresse que tu nous transmets ici.
Dans le fichier, tu peux insérer les explications que tu juges nécessaires...
Tu peux publier un fichier exemple en utilisant le site Cjoint.com
Tu obtiendras une adresse que tu nous transmets ici.
Dans le fichier, tu peux insérer les explications que tu juges
nécessaires...
Assure-toi que le nom de la feuille est bon dans la procédure.
'------------------------------------------------ Sub test() With Worksheets("Extraction") With .Range("A2:A" & .Range("B6556").End(xlUp).Row).SpecialCells(xlCellTypeBlanks) .Formula = "=A" & .Item(1).Row - 1 End With With .Range("A2:A" & .Range("B6556").End(xlUp).Row) T = .Value .Value = T End With With .Range("B2:B" & .Range("B6556").End(xlUp).Row) Set Trouve = .Find(What:="", LookAt:=xlValue) If Not Trouve Is Nothing Then Adr = Trouve.Address Do If Trouve.Offset(, -1) <> Trouve.Offset(1, -1) Then Trouve.Offset(, -1) = "" End If Set Trouve = .FindNext(Trouve) Loop Until Adr = Trouve.Address End If End With End With End Sub '------------------------------------------------
Assure-toi que le nom de la feuille est bon dans la procédure.
'------------------------------------------------
Sub test()
With Worksheets("Extraction")
With .Range("A2:A" &
.Range("B6556").End(xlUp).Row).SpecialCells(xlCellTypeBlanks)
.Formula = "=A" & .Item(1).Row - 1
End With
With .Range("A2:A" & .Range("B6556").End(xlUp).Row)
T = .Value
.Value = T
End With
With .Range("B2:B" & .Range("B6556").End(xlUp).Row)
Set Trouve = .Find(What:="", LookAt:=xlValue)
If Not Trouve Is Nothing Then
Adr = Trouve.Address
Do
If Trouve.Offset(, -1) <> Trouve.Offset(1, -1) Then
Trouve.Offset(, -1) = ""
End If
Set Trouve = .FindNext(Trouve)
Loop Until Adr = Trouve.Address
End If
End With
End With
End Sub
'------------------------------------------------
Assure-toi que le nom de la feuille est bon dans la procédure.
'------------------------------------------------ Sub test() With Worksheets("Extraction") With .Range("A2:A" & .Range("B6556").End(xlUp).Row).SpecialCells(xlCellTypeBlanks) .Formula = "=A" & .Item(1).Row - 1 End With With .Range("A2:A" & .Range("B6556").End(xlUp).Row) T = .Value .Value = T End With With .Range("B2:B" & .Range("B6556").End(xlUp).Row) Set Trouve = .Find(What:="", LookAt:=xlValue) If Not Trouve Is Nothing Then Adr = Trouve.Address Do If Trouve.Offset(, -1) <> Trouve.Offset(1, -1) Then Trouve.Offset(, -1) = "" End If Set Trouve = .FindNext(Trouve) Loop Until Adr = Trouve.Address End If End With End With End Sub '------------------------------------------------
Jacky
Bonsoir,
Tester ceci '-------------- Sub jj() Dim i As Long With Sheets("Extraction") For i = 3 To .Cells(.Rows.Count, 2).End(xlUp).Row If .Cells(i - 1, 1) <> "" Then If .Cells(i, 2) <> "" Then .Cells(i, 1).Value = Cells(i - 1, 1).Value End If Next End With End Sub '----------------
-- Salutations JJ
"suze32" a écrit dans le message de news:
Bonjour,
Je traite des données issus d'un logiciel comptable en l'exportant.
Dans ma colonne A, j'ai une données dans la cellule "A3", "A54", "A85", "A87"... (entre toutes ces cellules, les cellules sont vides)
Je souhaiterais pouvoir copier les données de la cellule A3 jusqu'à A53, celle de A54 jusqu'à A84 etc... jusqu'à la fin de la feuille.
A chaque extraction, les cellules remplies ne seront pas les mêmes.
Merci pour votre aide Bonne journée,
Bonsoir,
Tester ceci
'--------------
Sub jj()
Dim i As Long
With Sheets("Extraction")
For i = 3 To .Cells(.Rows.Count, 2).End(xlUp).Row
If .Cells(i - 1, 1) <> "" Then
If .Cells(i, 2) <> "" Then .Cells(i, 1).Value = Cells(i - 1, 1).Value
End If
Next
End With
End Sub
'----------------
--
Salutations
JJ
"suze32" <suzescobar@gmail.com> a écrit dans le message de news:
7a90c984-c923-458c-924e-a21e83c8cd82@googlegroups.com...
Bonjour,
Je traite des données issus d'un logiciel comptable en l'exportant.
Dans ma colonne A, j'ai une données dans la cellule "A3", "A54", "A85", "A87"...
(entre toutes ces cellules, les cellules sont vides)
Je souhaiterais pouvoir copier les données de la cellule A3 jusqu'à A53, celle de A54 jusqu'à A84 etc...
jusqu'à la fin de la feuille.
A chaque extraction, les cellules remplies ne seront pas les mêmes.
Tester ceci '-------------- Sub jj() Dim i As Long With Sheets("Extraction") For i = 3 To .Cells(.Rows.Count, 2).End(xlUp).Row If .Cells(i - 1, 1) <> "" Then If .Cells(i, 2) <> "" Then .Cells(i, 1).Value = Cells(i - 1, 1).Value End If Next End With End Sub '----------------
-- Salutations JJ
"suze32" a écrit dans le message de news:
Bonjour,
Je traite des données issus d'un logiciel comptable en l'exportant.
Dans ma colonne A, j'ai une données dans la cellule "A3", "A54", "A85", "A87"... (entre toutes ces cellules, les cellules sont vides)
Je souhaiterais pouvoir copier les données de la cellule A3 jusqu'à A53, celle de A54 jusqu'à A84 etc... jusqu'à la fin de la feuille.
A chaque extraction, les cellules remplies ne seront pas les mêmes.