XL 2010 Fonction resize

chris66000

XLDnaute Junior
Bonjour
j'utilise resize....
ActiveCell.Resize(1, 1).Select

mais je voudrais remplacer le 1 de colonne par la valeur d'une cellule qui varie a chaque fois..
je n'ai pas trouvé si quelqu'un a une idéee...je suis preneur
Merci
 

vgendron

XLDnaute Barbatruc
il y en a partout dans ton fichier...
on ne sait meme pas de quelle macro on parle..

VB:
 Sub RechercheEtSelection()
 Dim Cellule As Range
 ValeurCherchee = Range("Location!b6").Value
  Set Cellule = Range("c3:bb3").Find(what:=ValeurCherchee, LookIn:=xlValues, lookat:=xlWhole)
  
  If Not Cellule Is Nothing Then Range(Cellule, Cellule(1, 7)).Select
End Sub
 

chris66000

XLDnaute Junior
il y en a partout dans ton fichier...
on ne sait meme pas de quelle macro on parle..

VB:
 Sub RechercheEtSelection()
 Dim Cellule As Range
 ValeurCherchee = Range("Location!b6").Value
  Set Cellule = Range("c3:bb3").Find(what:=ValeurCherchee, LookIn:=xlValues, lookat:=xlWhole)
 
  If Not Cellule Is Nothing Then Range(Cellule, Cellule(1, 7)).Select
End Sub
suis désolé de nouveau ....mais ma macro ne fonctionne pas
module 7 Sub selectionne_periode_dans_calendrier()
erreur sur ligne Set.....
ce que je voudrais faire
dans la ligne c3:bb3 je recherche la date qui est dans la cellule b6 et je dois la selectionner pour apres en fonction du numero d'appartement je descends de x colonne et selectionne la nouvelle cellule et l'aggrandie en fonction de periode
je te renvoi le fichier MAJ
merci de ton aide si tu as le temps
 

Pièces jointes

  • calendrier CERBERE nvlle version.xlsm
    162.9 KB · Affichages: 4

vgendron

XLDnaute Barbatruc
ton fichier comporte plusieurs problèmes qui font que meme si tu recopies correctement l'instruction donnée (donc. SANS le .activate), ca ne fonctionnera pas..

il faut commencer par corriger les choses suivantes:

ton formulaire te permet de saisir une réservation
la date du début de séjour est alimentée par la ligne 28
1) d'après le texte en A27 , la ligne 28 correspond aux dates de FIN de séjour..
ne faudrait il pas plutot utiliser la ligne 26 pour alimenter la cellule C21 ?

2) les dates de début de séjour sont en 2023
quand tu cherches la date de début de séjour dans ton planning "Location" dans la ligne 3 (C3:BB3) : il n'y a aucune chance de trouver la date. vu que la ligne 3 est en 2022....

une fois que tu aura corrigé ca.. on pourra avancer
 

chris66000

XLDnaute Junior
ton fichier comporte plusieurs problèmes qui font que meme si tu recopies correctement l'instruction donnée (donc. SANS le .activate), ca ne fonctionnera pas..

il faut commencer par corriger les choses suivantes:

ton formulaire te permet de saisir une réservation
la date du début de séjour est alimentée par la ligne 28
1) d'après le texte en A27 , la ligne 28 correspond aux dates de FIN de séjour..
ne faudrait il pas plutot utiliser la ligne 26 pour alimenter la cellule C21 ?

2) les dates de début de séjour sont en 2023
quand tu cherches la date de début de séjour dans ton planning "Location" dans la ligne 3 (C3:BB3) : il n'y a aucune chance de trouver la date. vu que la ligne 3 est en 2022....
merci de ta réponse
j'ai modifié les dates
quand j'execute la macro j'ai toujours la meme erreur sur la ligne
Set debuloc et cette valeur reste a nothing...
j'ai du mal a comprendre merci de ton aide
 

Pièces jointes

  • calendrier CERBERE nvlle version.xlsm
    163.6 KB · Affichages: 1

vgendron

XLDnaute Barbatruc
à mon avis tu te perds dans ton code..
à force de faire des selections ca ne va pas du tout où tu veux

regarde ce début de code: est ce que déjà. il y a bug ou pas?
VB:
Sub selectionne_periode_dans_calendrier()
'
' selectionne_periode_dans_calendrier Macro

Dim debutloc As Range

With Sheets("recap ") 'dans la feuille "Recap":on récupère les deux infos
    appartement = .Range("M3").Value
    periode = .Range("P3").Value
End With
With Sheets("Location") 'dans la feuille "Location": on récupère l'info
    ValeurCherchee = .Range("B6").Value
End With

Sheets("location").Activate 'on bascule sur la feuille==> pas indispensable

Set debutloc = Range("c3:bb3").Find(what:=ValeurCherchee, LookIn:=xlValues, lookat:=xlWhole) 'on cherche la date dans la ligne 3

If Not debutloc Is Nothing Then
    debutloc.Resize(1, 7).Select 'on selectionne la date + 7 colonnes.. et ?? à quoi ca sert?
Else
    MsgBox "la date de début de location: " & ValeurCherchee & " n'est pas dans le planning"
    Exit Sub
End If
end sub
 

chris66000

XLDnaute Junior
à mon avis tu te perds dans ton code..
à force de faire des selections ca ne va pas du tout où tu veux

regarde ce début de code: est ce que déjà. il y a bug ou pas?
VB:
Sub selectionne_periode_dans_calendrier()
'
' selectionne_periode_dans_calendrier Macro

Dim debutloc As Range

With Sheets("recap ") 'dans la feuille "Recap":on récupère les deux infos
    appartement = .Range("M3").Value
    periode = .Range("P3").Value
End With
With Sheets("Location") 'dans la feuille "Location": on récupère l'info
    ValeurCherchee = .Range("B6").Value
End With

Sheets("location").Activate 'on bascule sur la feuille==> pas indispensable

Set debutloc = Range("c3:bb3").Find(what:=ValeurCherchee, LookIn:=xlValues, lookat:=xlWhole) 'on cherche la date dans la ligne 3

If Not debutloc Is Nothing Then
    debutloc.Resize(1, 7).Select 'on selectionne la date + 7 colonnes.. et ?? à quoi ca sert?
Else
    MsgBox "la date de début de location: " & ValeurCherchee & " n'est pas dans le planning"
    Exit Sub
End If
end sub
If Not debutloc Is Nothing Then
debutloc.Resize(1, 7).Select 'on selectionne la date + 7 colonnes.. et ?? à quoi ca sert?

normalement je descends de 7 lignes pas colonnes !

en fonction du numero d'appartement
ElseIf appartement = 5 Then
Range("selection").Offset(9).Select

ElseIf appartement = 6 Then
Range("selection").Offset(10).Select
je selectionne la case en dessous de la date pour atteindre la ligne qui correspond
a l 'appartement choisis

je ne sais pas si je suis assez clair
 

vgendron

XLDnaute Barbatruc
voir pj pour une proposition

je pense qu'il faut "purger" et organiser ton classeur: il y en a partout

1) j'ai créé une feuille "Listes" qui permet de "crééer" toutes les dates de début et fin de séjour
j'en ai fait des plages nommées "Dates_Debut_sejour" et "Dates_Fin_Sejour"

ces deux listes sont destinées à remplacer tes deux lignes 26 et 28 de ton formulaire==> il faudra les supprimer
pour l'instant, j'ai laissé, ne sachant pas si tu y fais référence dans des listes de validation ou dans ton code

dans le formulaire (zone bleue) , j'ai ajouté des plages nommées: Nom_Locataire - Prénom_Locataire - Début_Séjour - Fin_Séjour - Durée_Séjour - Num_Appart

ces noms serviront dans le code pour récupérer les infos

Dans la macro: je te laisse regarder les commentaires / questions
 

Pièces jointes

  • calendrier CERBERE nvlle version (1).xlsm
    165.6 KB · Affichages: 1

chris66000

XLDnaute Junior
c'est parfait......je ne sais comment te remercier
1) pour le résultat
2) pour la facon de travailler...je vais remplacer partout les references par les noms , et essayer de suivre tes recommandations..
je me permettrais de t'envoyer le résultat.

Merci beaucoup
 

Discussions similaires

Statistiques des forums

Discussions
312 388
Messages
2 087 869
Membres
103 672
dernier inscrit
ammarhouichi