Décalage de celulle

Signaler
Messages postés
2
Date d'inscription
jeudi 22 décembre 2011
Statut
Membre
Dernière intervention
22 décembre 2011
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Tout d'abord bonjour à tous et bonnes fêtes de fin d'année!!

Je débute avec les macros Excel et je me retrouve bloqué sur une chose simple (enfin je pense) et malgré mes recherches sur le web et différents tests je ne trouve pas la solution.

1. J'ai fait un enregistrement de macro, qui me permet simplement d'importer des données externes depuis le web. L'import est un tableau simple en 2 colonnes et quelques lignes.

Sub Macro1()
' Macro1 Macro
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://stan.dashlane.com/fogbugz/default.asp?pgx=LF&ixFilter=380", _
Destination:=Range("$A$4"))
.Name = "default.asp?pgx=LF&ixFilter=380"
BLABLABLABLABLA
.Refresh BackgroundQuery:=False
End With
End Sub

2. Actuellement l’import se fait dans la cellule A$4 spécifié dans Destination:=Range("$A$4"))
Cependant, l’import de ce tableau se fera quotidiennement, car les valeurs changent tous les jours. Ce qui fait que si je re-importe par-dessus, excel va décaler les 2 colonnes vers la droite et afficher le nouveau tableau en A$4 ; finalement je lirai l’évolution des chiffres de la droite vers la gauche, au lieu de la gauche vers la droite (j’espere que je suis clair dans mes explications).

Concrètement je voudrais que l’import du tableau se fasse en A$4 la première fois, puis si les cellules sont pleines, que le deuxième import se fasse en C$4 (2 colonnes par tableau), puis F$4 etc. En gros faire un offset(colonne + 1 SI colonne précédente pleine).

Merci d’avance

W.
A voir également:

4 réponses

Messages postés
33
Date d'inscription
mercredi 6 octobre 2010
Statut
Membre
Dernière intervention
9 janvier 2012

Tu n'a que deux chose à faire, cherche la dernière cellule vide de la ligne 4 puis coller le tableau
pour recherche la dernier cellule vide :
dim i as integer
i=1
while cells(4,i)<>""
i=i+1
wend

Ainsi i sera égale à la dernière colonne vide
Si toute la colonne est plaine, sa te métra un message d’erreur.
tu na plus ca remplacer Destination:=Range("$A$4") par Destination:=cells(4,i)
Messages postés
2
Date d'inscription
jeudi 22 décembre 2011
Statut
Membre
Dernière intervention
22 décembre 2011

Tout d'abord merci pour ta réponse ULTRA rapide, c'est sympa.

J'ai essayé ton bout de code, je n'ai pas d'erreur particulière en activant la macro, mais le comportement est exactement le même qu'avant. Je me demande si je l'ai placé correctement. Voici le code actuel:


Sub Macro1()
'
' Macro1 Macro
'
Dim i As Integer
i = 1
While Cells(4, i) <> ""
i = i + 1
Wend
'
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://stan.dashlane.com/fogbugz/default.asp?pgx=LF&ixFilter=380", _
Destination:=Cells(4, i))
.Name = "default.asp?pgx=LF&ixFilter=380"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = """tableview-table"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub
Messages postés
33
Date d'inscription
mercredi 6 octobre 2010
Statut
Membre
Dernière intervention
9 janvier 2012

Tu veux dire que les deux tableaux se mettent l'un sur l'autre ?
Rentre tu vraiment les données dans la cellule ou place les tu dessus comme une image.
Dans le cas deux, tu peux mètre le nombre d’image en A4 (0 au départ)et mètre que
i=range("A4")*2
.
à la fin tu incrément le cellule A4 de 1
range("A4")=range("A4")+1
.

ps : mais les balistes code si tu veux avoir de l’aide, les balistes rend le code plus lisible et facile à déchiffré. (Sens baliste je ne cherche même pas à lire t’on code)
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
232
Bonjour, gourman,

En vacances et de passage (avec un clavier sans accents
ps : mais les balistes code si tu veux avoir de l’aide, les balistes rend le code plus lisible et facile à déchiffré. (Sens baliste je ne cherche même pas à lire t’on code)

Je me demande si tu ne serais pas egalement en vacances, dans le meme coin que moi, a pecher le meme type de poissons .
Les miens, de balistes, sont assez colores (plus de vert que de orange) et bien dentus. Et les tiens ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient